前端之家收集整理的这篇文章主要介绍了
ssh – 远程重启多台机器,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要远程重启多台机器.通常我只是发出
for host in <hostlist>;do ssh ${host} 'sudo shutdown -r now';done
但是我希望在重启之前给用户一些时间.但是,即使我使用ssh会话也不会断开连接:
ssh -f 'sudo shutdown -r +5 &;disown'
我收到一条错误消息:
bash: -c: line 0: Syntax error near unexpected token ;' bash: -c: line 0:
sudo shutdown -r +5 &;disown’
有什么建议?
如
错误消息所述,您的命令中存在语法
错误.这是由于一个有点令人惊讶的事实,&不是shell命令的一部分,而是命令之间的分隔符(如; is).虽然两者都是命令分隔符&对左侧的命令有额外的影响.这当然也让我感到困惑,我经常犯同样的
错误.一旦你知道它,它很容易修复.
修复是不写& ;;而是根据你的意图写两个分隔符中的一个. (并且在大多数情况下,其中一个人写了& ;;意图是只写和&).
这应该工作:
ssh server 'sudo shutdown -r +5 & disown'