使用 Linux shell 時,零退出狀態與布林邏輯的退出狀態是否不同?

使用 Linux shell 時,零退出狀態與布林邏輯的退出狀態是否不同?

據我所知,如果我在 shell 中使用 & 運算子執行命令,例如command1&&command2,如果第一個命令成功執行,則退出狀態為零。

這與 0 為假、1 為真的布爾邏輯相似或不同,還是我理解錯誤了?

您使用的 shell 類型有影響嗎?我目前正在運行 Bourne-Again Shell。

答案1

Shell 大多數情況下都是 0 來表示零錯誤和成功,所以從這個意義上來說,它在邏輯上是正確的,這與許多程式語言中 0 通常是假的不同。儘管現在現代語言往往有不同的真假邏輯值。

答案2

更好的理由是,實際上只有一個“成功”,但“失敗”有多種原因:找不到檔案、參數錯誤、計算錯誤等。在進程間通訊中- 由exit(2)系統呼叫發送並由呼叫接收的回傳代碼wait(2)

相關內容