系統
結束代碼(exit code)
結束代碼(exit code)是一個程式結束時交還回來的那一個數字——它用來說「這次順利完成」或者「出了點問題」。按照一條幾乎人人都遵守的約定,0 表示成功,其他任何值(1、2、127……)都表示某種失敗。這是程式臨走前的最後一句話。
你很少見到它,因為它不會被印出來——而是悄悄留給下一個程式去讀。在 shell 裡,你可以在某條命令剛跑完後用 $? 偷看一眼;或者乾脆把命令串起來:「build && deploy」只有在 build 以 0 結束時才會執行 deploy,因為 && 的意思就是「而且只有在它成功時」。
正是這個不起眼的數字,讓自動化得以運轉。當 CI 說你的建置「失敗了」,真正發生的其實是某一步以非零結束代碼結束,而流水線注意到了。電腦讀不懂你的測試輸出,但它永遠讀得懂一個 0。
$ grep "TODO" notes.txt $ echo $? 1 # 1 = grep found nothing; 0 would mean it did
$? 保存著上一條命令的結束代碼——這裡是「沒找到匹配」。
「0 = 成功」一開始會覺得反常——把它想成「零個問題」,而不是「零個完成」就順了。
又稱
另見