fsp*_*rle 6 bash ssh shell-script
我想连接到文件中指定的多台机器并在那里执行“ls”。
这就是我想出的:
for machine in $(cat machines)
do
echo "Connecting to " $machine
ssh $machine ls -la && exit
done
Run Code Online (Sandbox Code Playgroud)
除了我需要在 'ls' 之前'cd' 到不同目录这一事实之外,循环在文件中的第一个条目之后结束。第一个条目是我的机器本身,如果这很重要的话。
我错过了什么?
你的问题在这里:
ssh $machine ls -la && exit
Run Code Online (Sandbox Code Playgroud)
您的脚本ssh到运行您的ls. ssh成功退出,&&看到这一点并运行下一个命令,即exit,因此您的脚本退出!
你根本不需要&& exit。当ls完成时,连接将关闭,ssh将完成。只要去掉那一点,你就会变成金色的。