Shell 是使用者與作業系統溝通的介面,人機介面的形式分成 CLI 與 GUI 兩種。CLI (Command Line Interface) 讓一堆指令可以透過 指令搞 (command script) 變成自動化 程序 (procedure),提高工作效能,這樣的指令搞我們把它稱為 shell scripts,中文通常翻譯成 程式化腳本、Shell 指令搞。
Shell 本身也是一個程式,但是他並沒有一個表準的型態,不同作業系統使用的也不盡相同。Unix-like 上最基本的 Shell 叫做 sh,全名是 Bouren Shell,是個 POSIX 標準。Bash 全名是 Bourne Again Shell,是 sh 的 superset。sh 與 bash 有點像 vi vs vim 的關係。
Unix / Linux 上很常用 Bash Script 做一些工作,本文整理 Linux 上的 Shell 和 Bash Script 重要的概念 … 等 外在因子。
- 註一:Shell 中文為
殼,由法國計算機科學家 Louis Pouzin 在 1964-1965 年間提出來的概念,後來實作在 Multics 上,而 Multics 後來催促 Unix 的誕生。- 註二:中文的
程序一詞,有時候指的是作業系統的 process 概念,是個實際上佔有資源的單位;有時候也指的是 procedure,指的是一段作業流程 (workflow),後面描述視狀況會增加英文註記。








