当我调试ssh时,我发现“注销”的返回值是他先前的命令。例如,
[server1 ~] $ ssh root@server2
/* login server2 from server1 */
[root@server2 ~]# it's an bad command
-bash: it: command not found
[root@server2 ~]# echo $?
127
/* the return value is 127 */
[root@server2 ~]# it's an bad command
-bash: it: command not found
[root@server2 ~]# logout
Connection to server1 closed.
[server1 ~ ]$ echo $?
127
/* the return value is 127 too */
谁能告诉我为什么以这种方式设置注销的返回值?
最佳答案
答案应该很明显:脚本。
考虑不使用ssh的典型情况,例如:
grep -q crap file
if [ $? -eq 0 ]; then
echo something something
fi
如果您突然需要在远程计算机上执行grep,但想对本地计算机上的结果执行操作,则只需在grep命令前加上ssh调用即可,一切都会好起来的。
关于linux - “登出”的返回值是他先前命令的返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44344885/