【问题标题】:The return value of the “logout” is the return value of his previous command“logout”的返回值就是他之前命令的返回值
【发布时间】:2017-06-03 14:20:36
【问题描述】:

我在调试ssh的时候发现“logout”的返回值是他​​之前的命令。例如,

[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 */

谁能告诉我为什么logout的返回值是这样设置的?

【问题讨论】:

    标签: linux bash ssh logout


    【解决方案1】:

    答案应该很明显:用于脚本。

    考虑一个典型的不用 ssh 的事情,比如说:

    grep -q crap file
    if [ $? -eq 0 ]; then
        echo something something
    fi
    

    如果你突然需要在远程机器上执行 grep,但又想在本地机器上处理结果,你可以在 grep 命令前加上 ssh 调用,一切都会好起来的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-02
      • 2017-09-11
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      相关资源
      最近更新 更多