linux + 从远程机器获取标准输出

linux + 从远程机器获取标准输出

破坏脚本 /tmp/script.bash 后,是否可以从远程机器获取标准输出 - 100 或 1 ?

 ssh $remote_machine /tmp/script.bash

 echo $? ( from remote machine script - not from ssh ! )

在远程机器上-

 more /tmp/script.badsh

 #!/bin/bash

 command

 [[ $? -eq 0 ]] && exit 100 || exit 1

答案1

看来您想要的是远程脚本的退出值($?)而不是标准输出(按照您的标题输出的脚本)

ssh 手册页说明了这一点

ssh 以远程命令的退出状态退出,如果发生错误则以 255 退出。

因此,如果你的脚本运行正常,它将返回 100。如果不是,那么有几种可能性

  • command没有以 0 退出
  • 你的[[ ... ]]说法是错误的,但看起来是对的,我认为- eq应该是-eq1

1楼主已经编辑了他们的问题,删除了上面第 2 点的明显错误。我们只能得出第 1 点是正确的结论。

相关内容