【发布时间】:2016-08-03 17:00:14
【问题描述】:
我写了一个deployAll.sh,逐行读取ip_host.list,然后为所有远程主机添加组,
当我运行时:sh deployAll.sh
结果:
Group is added to 172.25.30.11
非预期结果:
Group is added to 172.25.30.11
Group is added to 172.25.30.12
Group is added to 172.25.30.13
为什么它只执行第一个?请帮忙,非常感谢!
deployAll.sh
#!/bin/bash
function deployAll()
{
while read line;do
IFS=';' read -ra ipandhost<<< "$line"
ssh "${ipandhost[0]}" "groupadd -g 1011 test"
printf "Group is added to ${ipandhost[0]}\n"
done < ip_host.list
}
deployAll
ip_host.list
172.25.30.11;test-30-11
172.25.30.12;test-30-12
172.25.30.13;test-30-13
【问题讨论】:
-
奇怪,它对我有用。发布
echo $BASH_VERSION的结果以及当您使用bash -x deployAll.sh运行脚本时。 -
你真的很想看看 Ansible 项目:docs.ansible.com/ansible/quickstart.html