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