ssh – 远程重启多台机器

前端之家收集整理的这篇文章主要介绍了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).虽然两者都是命令分隔符&对左侧的命令有额外的影响.这当然也让我感到困惑,我经常犯同样的错误.一旦你知道它,它很容易修复.

修复是不写&amp ;;而是根据你的意图写两个分隔符中的一个. (并且在大多数情况下,其中一个人写了&amp ;;意图是只写和&).

这应该工作:

ssh server 'sudo shutdown -r +5 & disown'

猜你在找的Bash相关文章