For循环语法bash脚本

乌维斯·易卜拉欣

有没有一种方法可以在bash脚本中实现类似的功能?

pureips="10.3.1.111 10.3.1.112 10.3.1.114";
pureservers="a b c";
for ip,server in $pureips,$pureservers; do
    echo "$server | $ip ";
done

谢谢。

它是

如果您希望嵌套,以便每个服务器针对每个IP运行(即运行9次),则可以:

for ip in $pureips; do
    for server in $pureservers; do
        echo "$server | $ip "
    done
done

如果您只想跟踪每个项目(例如,运行3次,使用第一个服务器运行第一个ip,使用第二个服务器运行第二个ip,等等),则可以使用迭代器并手动调用数组的索引。但这确实意味着我们还需要首先将字符串转换为数组:

read -a pureips <<< "10.3.1.111 10.3.1.112 10.3.1.114"
read -a pureservers <<< "a b c"

for ((i=0; i<=${#pureips[@]}; i++)); do
    echo "${pureservers[i]} | ${pureips[i]}"
done

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章