Bash Shell 指令碼/關於 Bash
Bash 是一個“Unix shell”:一個與作業系統互動的命令列介面。它廣泛可用,是許多 GNU/Linux 發行版的預設 shell,以前是 Mac OSX 的預設 shell,並且存在適用於許多其他系統的埠。它由一位名叫 Brian Fox 的程式設計師在 1980 年代後期建立,應 Richard Stallman 的要求,在 自由軟體基金會 工作。它的目的是作為 Bourne shell 的自由軟體替代品(事實上,它的名字是Bourne Again SHell 的首字母縮略詞),它包含了 Bourne shell 的所有功能,以及諸如整數運算和作業控制等新功能[1].
除了互動模式,使用者一次輸入一條命令,立即執行並獲得反饋之外,Bash(與許多其他 shell 一樣)還能夠執行一整套命令指令碼,稱為“Bash shell 指令碼”(或“Bash 指令碼”或“shell 指令碼”或簡稱為“指令碼”)。指令碼可能只包含一個非常簡單的命令列表——甚至只是一個命令——或者它可能包含函式、迴圈、條件結構以及所有其他指令式程式設計的特徵。實際上,Bash shell 指令碼是用 Bash 程式語言編寫的計算機程式。
shell 指令碼是建立和維護此類指令碼的藝術。
shell 指令碼可以從上面描述的互動式命令列呼叫,也可以從系統的其他部分呼叫。一個指令碼可能在系統啟動時執行;另一個指令碼可能在每個工作日的凌晨 2:30 執行;另一個指令碼可能在使用者登入系統時執行。
shell 指令碼通常用於許多系統管理任務,例如執行磁碟備份、評估系統日誌等等。它們也常用於複雜程式的安裝指令碼。它們特別適合所有這些,因為它們允許複雜性,而無需強制複雜性:如果一個指令碼只需要執行兩個外部程式,那麼它可以是一個兩行指令碼,如果它需要一個圖靈完備的指令式程式設計語言的全部功能和決策能力,那麼它也可以擁有這些功能。
- ↑ "Bash - GNU Project - Free Software Foundation". Retrieved 28 November 2017.