いくつかのスクリプトを更新するマシンがいくつかあります。リストから IP を読み取り、それらに対して scp を呼び出すための 1 つの while ループで構成される、私の側の小さな bash スクリプトでこれを行うことができます。正常に動作しますが、更新されたスクリプトをループで実行しようとすると、ループ自体は正常に実行されますが、ループが中断されます。
#!/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 経由でスクリプトをリモートで実行できますか?