Scavenger Asked: 2017-12-20 07:13:35 +0800 CST2017-12-20 07:13:35 +0800 CST 2017-12-20 07:13:35 +0800 CST 如何获得美元?从通过 ssh 运行的命令 772 我有一个脚本,它将使用 ssh 在远程节点上运行命令。远程节点是一个设备,所以我不能(鼓励不要)对其进行更改。现在我有一个这样的脚本: ssh REMOTE-NODE -l login "ls" > output 2>&1 status=$? 所以$status会有ssh命令的状态。如何获取$?远程命令的状态(本例中为 ls,但对于调用的任何命令)?我无法在可以返回状态的远程节点上创建中间脚本。 ssh ksh 1 个回答 Voted Best Answer ilkkachu 2017-12-20T07:15:39+08:002017-12-20T07:15:39+08:00 不会ssh像往常一样退货吗? 退出状态 ssh 以远程命令的退出状态退出,如果发生错误,则以 255 退出。 $ ssh user@localhost 'exit 123' ; echo $? user@localhost's password: 123 尽管正如@thrig 在评论中暗示的那样,如果 ssh 客户端由于信号而被杀死,$?可能会显示通常的 128+信号编号而不是 255,即使它不是远程命令的退出代码。相反,在快速测试中,如果远程命令由于信号而退出,则ssh返回 255。
不会
ssh
像往常一样退货吗?尽管正如@thrig 在评论中暗示的那样,如果 ssh 客户端由于信号而被杀死,
$?
可能会显示通常的 128+信号编号而不是 255,即使它不是远程命令的退出代码。相反,在快速测试中,如果远程命令由于信号而退出,则ssh
返回 255。