通过ssh使用for循环连接一个又一个树莓派



Am试图连接到一个又一个Raspberry pi,但ssh中断了for循环:

for i in 4 8;
do
ssh -tt pi@192.168.1.$i "python3 ./replace.py"  && exit
done

它与4连接并执行,但在连接关闭后,它不会连接到下一个Rpi,它不会通过for循环,它会退出。请告诉我哪里错了。

感谢的帮助

您正在当前shell中调用exit,而不是在远程机器上。在您的情况下不需要使用&& exit,简单的

for i in 4 8;
do
ssh -tt pi@192.168.1.$i "python3 ./replace.py"
done

会起作用的。

如果出于某种原因,你必须手动退出——它应该放在引号内,比如:

for i in 4 8;
do
ssh -tt pi@192.168.1.$i "python3 ./replace.py && exit"
done

此外,如果您想同时在所有Pi上使用此脚本,而不是按顺序进行,请考虑使用pssh

pssh -H "$(for i in 4 8; do echo 192.168.1.$i; done)" -i "python3 ./replace.py"

或者简单地将主机传递给-H交换机。看见https://linux.die.net/man/1/pssh

相关内容

  • 没有找到相关文章