【问题标题】:Variable unrecognized inside nested for loop in bash scriptbash脚本中嵌套for循环内无法识别的变量
【发布时间】:2018-06-30 21:49:15
【问题描述】:

我正在尝试在 bash 脚本中遍历两个数组,这是变量的声明:s

declare -a servers=("server1" "server2")
declare -a services=("service1" "service2")

这是我的循环:

for j in "${servers[@]}";do
            'ssh -q -o StrictHostKeyChecking=no user@'$j';
            '"for i in "${services[@]}";do echo "$i status in $j"; 
"'/etc/init.d/service-'$i' status'"; done"''
done

我在尝试执行它时遇到下一个错误,看起来变量 i 是空的并且它没有得到任何值:

for i in service1' 'service2;do echo ' status in 'server1; /etc/init.d/service- status; done'
for i in service1: command not found

【问题讨论】:

    标签: bash loops variables for-loop nested


    【解决方案1】:

    应该是这样的:

    declare -a servers=("server1" "server2")
    declare -a services=("service1" "service2")
    
    for server in ${servers[@]}; do
        for service in ${services[@]}; do
            ssh user@$server /etc/init.d/service-$service status
        done
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-10
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 1970-01-01
      相关资源
      最近更新 更多