Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux SSH远程命令退出代码始终获取0_Linux_Bash_Shell_Ssh_Exit Code - Fatal编程技术网

Linux SSH远程命令退出代码始终获取0

Linux SSH远程命令退出代码始终获取0,linux,bash,shell,ssh,exit-code,Linux,Bash,Shell,Ssh,Exit Code,我在尝试获取SSH远程命令退出代码时发现了一个奇怪的错误。 我不明白为什么它会得到不同的结果,以及如何解释它。 有人能指出我做错了什么,或者有更好的方法来捕获远程ssh命令的退出状态吗。谢谢你的帮助 本地指挥部: ssh_test/test.sh;echo$ +退出1 1 ssh命令:(ubuntu18.04) ssh 127.0.0.1“ssh_test/test.sh;echo$?” +退出1 0 test.sh #/bin/bash 集合x 出口1 0是从echo命令返回的退出代码。如果您

我在尝试获取SSH远程命令退出代码时发现了一个奇怪的错误。 我不明白为什么它会得到不同的结果,以及如何解释它。 有人能指出我做错了什么,或者有更好的方法来捕获远程ssh命令的退出状态吗。谢谢你的帮助

本地指挥部:

ssh_test/test.sh;echo$

+退出1
1

ssh命令:(ubuntu18.04)

ssh 127.0.0.1“ssh_test/test.sh;echo$?”

+退出1
0

test.sh

#/bin/bash
集合x
出口1

0是从
echo
命令返回的退出代码。如果您将退出代码分配给变量,这可以防止它被
echo

的结果掩盖。我应该使用单引号来表示双引号。 回声$?如果我使用双引号执行ssh命令,则将变为“0”


ssh 127.0.0.1'ssh_test/test.sh;echo$?'

只是一个猜测,在没有
-e
的情况下尝试,我通过“echo${PIPESTATUS[0]}”)获得了退出代码,但是在远程SSH环境中运行该命令的结果不同。我已经做了另一个测试来重现错误,结果仍然是不同的事件,我没有使用echo命令。