bash - 在bash循环中同步访问2个变量

标签 bash

peterc@peterc-ml video $ VAR1="foo maltese mountain"
peterc@peterc-ml video $ VAR2="bar falcon goat"
peterc@peterc-ml video $ for X in 1 2 3
> do
> echo ??????
> done

期望的输出是:

 foo bar
 maltese falcon
 mountain goat

VAR1 和 VAR2 将始终具有相同数量的元素。

最佳答案

用每一个组成一个数组。

ARR1=( $VAR1 )
ARR2=( $VAR2 )
for (( i = 0; i < ${#ARR1[@]}; i++)); do 
    echo ${ARR1[i]} ${ARR2[i]}
done

例如

$ VAR1="a b c"
$ VAR2="1 2 3"
$ ARR1=( $VAR1 )
$ ARR2=( $VAR2 )
$ for (( i = 0; i < ${#ARR1[@]}; i++)); do 
>     echo ${ARR1[i]} ${ARR2[i]}
> done
a 1
b 2
c 3

关于bash - 在bash循环中同步访问2个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134178/

相关文章:

linux - Bash 脚本 - 将子脚本 stderr 重定向到父脚本的 stdout

bash - 如何终止 bash 文件中的进程? (.sh)

node.js - bash:bower:找不到命令,我不知道该怎么办

linux - Exec --no-startup-id <command> 表示 "--"无效选项

node.js - 如何在 Node.js 中创建僵尸/失效进程?

git - 如何对多个文件并行运行递归查找和替换操作?

用 WSL 替换 Bash 进程

bash - 如何获得递归的完整路径列表,每个文件一行?

bash - 在运行脚本之前使用 inotifywait (或替代方案)等待 rsync 传输完成?

c - 我自己的 shell 实现中的管道链接