系統
shell(命令列外殼)
shell(命令列外殼)是負責讀取並執行你所輸入命令的程式。當你打開終端機、看到一個閃爍的提示符時,那個提示符就是 shell 在等你下令——列出這些檔案、複製那一個、啟動這個伺服器。
它之所以叫「外殼」(shell),是因為它是包在作業系統核心外面的那一層:你對 shell 說話,shell 再請核心(kernel)去真正幹活。常見的有 bash 和 zsh(現代 Mac 的預設 shell);它們看上去幾乎一樣,做的也是同一件事。
shell 不只是個「命令執行器」——它本身就是一門小型程式語言。你可以把一連串命令存成腳本,使用變數和迴圈,還能把一個命令的輸出直接管線(pipe)給下一個命令。開發者日常的許多威力,正是從這裡來的。
$ echo $SHELL /bin/zsh
問一問你正在用的是哪個 shell——提示符自己會回答。
別把 shell 和終端機(terminal)搞混:終端機是那個視窗,shell 是在視窗裡執行的程式。視窗是玻璃,shell 才是玻璃另一頭跟你對話的那個聲音。
又稱
另見