Shell
語句的含義-test -x /usr/bin/find ||出口 0
我只是想了解以下陳述的含義以及它們是否正確。
test -x /usr/bin/find || exit 0 Command 1 Command 2 Command 3
的輸出
test -x /usr/bin/find
始終為 0。這意味著將執行 exit 0 命令,這意味著永遠不會執行命令 1、2、3。我在這裡嗎?
test -x /usr/bin/find
(或[ -x /usr/bin/find ]
)不輸出任何東西。如果是一個現有的執行檔,則測試為真,如果路徑名不存在或它不可執行,則為假。/usr/bin/find
如果
test
成功退出(退出狀態為零,表示“無錯誤”),shell 將執行其餘命令。如果它以失敗退出(非零退出狀態,表示“某些錯誤”),exit 0
將終止目前 shell,阻止其餘命令執行。可以說,使用
exit 1
或exit
代替exit 0
何時find
找不到會更好/usr/bin
。使用遮罩(非零)exit 0
的退出狀態,並防止此腳本的呼叫者收到在給定位置查找失敗的通知。test``find
與在 shell 中作為布爾值測試時退出狀態為零的事實評估為“真”相關:
與使用
||
和&&
一般情況相關: