Exit

更多命令行為

  • July 25, 2014

有人可以向我解釋更多命令嗎?

當我將它與||或 一起使用&&時,即使找不到文件(與其他命令不同),它似乎也存在 true 狀態。

~/Desktop$ more notExists || echo aaa
notExists: No such file or directory
~/Desktop$ more notExists && echo aaa
notExists: No such file or directory
aaa

的返回值more在 OSX 和 Linux 上是不同的。執行此命令以查看您的 Unix 風格的返回值是什麼:

more file_that_doesnt_exist; echo $?

在 OSX1上,我有失敗也0有成功。

在 Ubuntu 和 RedHat Linux0上,我有失敗也0有成功。這似乎是一個錯誤。

另一種選擇是使用less. 它似乎在 Ubuntu Linux 中返回正確的退出程式碼。

另一種選擇是使用:

{ cat file_that_doesnt_exist || echo nonexistent; } | more

cat命令似乎在 Linux 中返回預期的退出程式碼。

引用自:https://unix.stackexchange.com/questions/146392