SSH 远程命令退出代码始终为 0
SSH Remote command exit code always get 0
我在尝试获取 SSH 远程命令退出代码时发现了一个奇怪的错误。
我不明白为什么它会得到不同的结果以及如何解释它。
有人可以指出我做错了什么或更好的方法来捕获远程 ssh 命令的退出状态。感谢任何帮助。
本地命令:
ssh_test/test.sh; echo $?;
+ exit 1
1
ssh 命令:(Ubuntu 18.04)
ssh 127.0.0.1 "ssh_test/test.sh; echo $?"
+ exit 1
0
test.sh
#!/bin/bash
set -x
exit 1
0 是从 echo
命令返回的退出代码。如果将退出代码分配给变量,这可以阻止它被 echo
.
的结果屏蔽
我应该用单引号转成双引号。
回声$?如果我用双引号来执行ssh命令,就会变成“0”。
ssh 127.0.0.1 'ssh_test/test.sh; echo $?'
我在尝试获取 SSH 远程命令退出代码时发现了一个奇怪的错误。 我不明白为什么它会得到不同的结果以及如何解释它。 有人可以指出我做错了什么或更好的方法来捕获远程 ssh 命令的退出状态。感谢任何帮助。
本地命令:
ssh_test/test.sh; echo $?;
+ exit 1
1
ssh 命令:(Ubuntu 18.04)
ssh 127.0.0.1 "ssh_test/test.sh; echo $?"
+ exit 1
0
test.sh
#!/bin/bash
set -x
exit 1
0 是从 echo
命令返回的退出代码。如果将退出代码分配给变量,这可以阻止它被 echo
.
我应该用单引号转成双引号。 回声$?如果我用双引号来执行ssh命令,就会变成“0”。
ssh 127.0.0.1 'ssh_test/test.sh; echo $?'