Linux 基于ip列表的bash run命令
我创建了这个bash脚本,以便在我的Linux 基于ip列表的bash run命令,linux,bash,shell,Linux,Bash,Shell,我创建了这个bash脚本,以便在我的ip\u列表中列出的每个主机上运行python代码: #!/bin/bash declare -a ip_list=('10.99.1.1' '10.99.1.2' '10.99.1.3"' '10.99.1.4'); for i in $(ip_list) ; do ssh -i ~/Downloads/abc.pem -t -t ec2-user@$i "sudo python /home/user/abc.py" done 但我有一个
ip\u列表中列出的每个主机上运行python代码:
#!/bin/bash
declare -a ip_list=('10.99.1.1' '10.99.1.2' '10.99.1.3"' '10.99.1.4');
for i in $(ip_list) ; do
ssh -i ~/Downloads/abc.pem -t -t ec2-user@$i "sudo python /home/user/abc.py"
done
但我有一个错误:
Error: line 4: ip_list: command not found
我做错了什么?谢谢正如@anubhava所建议的,试试${ip_list[@]},如下所示:
declare -a ip_list=('10.99.1.1' '10.99.1.2' '10.99.1.3' '10.99.1.4');
for i in ${ip_list[@]} ; do
ssh -i ~/Downloads/abc.pem -t -t ec2-user@$i "sudo python /home/user/abc.py"
done
使用:“${ip_列表[@]}”中的i的;执行
而$(ip\u列表)
尝试运行ip\u列表
命令