我有几台机器可以更新一些脚本。我可以用我身边的一个小 bash 脚本来做到这一点,它由一个 while 循环组成,用于从列表中读取 IP 并为它们调用 scp。它工作正常,但是当我尝试在循环中运行更新的脚本时,它会中断循环,尽管它本身运行得很好。
#!/bin/bash
cat ip_list.txt | while read i; do
echo ${i}
scp the_script root@${i}:/usr/sbin/ # works ok
ssh root@${i} /usr/sbin/the_script # works for a first IP, then breaks
done
这是它应该如何工作的吗?如果是这样,如何在不中断循环的情况下通过 ssh 远程运行脚本?