![为什么反斜杠不会产生非零退出代码](https://linux22.com/image/154806/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%8D%E6%96%9C%E6%9D%A0%E4%B8%8D%E4%BC%9A%E4%BA%A7%E7%94%9F%E9%9D%9E%E9%9B%B6%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81.png)
如果运行:
true \ false; echo $?
我得到的退出代码为 0。有人知道这是为什么吗?
答案1
true \ false
相当于
true ' false'
它使 shelltrue
以false
(包括初始空格字符)作为其参数运行。您正在使用的实现true
会忽略此参数并以零返回值退出。
答案2
您只是运行带有一些参数的命令true
。由于这些论点不是选项,因此它们是什么并不重要。
如果运行:
true \ false; echo $?
我得到的退出代码为 0。有人知道这是为什么吗?
true \ false
相当于
true ' false'
它使 shelltrue
以false
(包括初始空格字符)作为其参数运行。您正在使用的实现true
会忽略此参数并以零返回值退出。
您只是运行带有一些参数的命令true
。由于这些论点不是选项,因此它们是什么并不重要。