標籤:
一.什麼是Shell? <一>.Shell英文意思:殼; <二>.電腦中管理整個硬體的其實是作業系統的核心;核心是被保護的; <三>.電腦硬體,作業系統,Shell,使用者之間的關係; 1.我們知道電腦完成計算,儲存,網路,多媒體等等功能,其最基本條件是:電腦有相應的硬體支援以及這些硬體能夠被管理使用;而電腦中管理硬體的其實就是作業系統和以及硬體驅動的支援; 2.而作業系統核心,其實就是一組程式,這組程式能夠控制電腦的硬體以及管理系統活動; 3.更上一層,電腦不能夠自動的說進行計算,播放視頻,音樂等等;這些功能只有在使用者進行有相關的命令請求發給作業系統的時候,相應的硬體才能進行工作。由於作業系統是管理電腦系統硬體的核心,因此這個核心應該被保護,使用者不能隨隨便便的對作業系統進行操作,因為不當的操作可能造成整個電腦硬體系統的崩潰。 4.所以,就為作業系統做一層殼,來保護作業系統。而這層殼(Shell),是經過定義以及驗證的,規定好的,使用者的操作不會對電腦的硬體系統造成破壞。並且,通過Shell輸入的命令,能夠正確的被解析並傳達到作業系統,而保證了相應的命令請求能夠正確實施。關係圖: <四>. 可以這樣理解Shell: Shell是一個應用程式;Shell定義了一系列的命令,使用者輸入這些命令之後,Shell能夠解析,並調用正確的作業系統的具體功能;並且,使用者輸入的這些命令可以先進階程式設計語言一樣,有變數和參數,以及有控制結構,所以說,Shell即是一種程式設計語言。作為命令語言,它互動式解釋和執行使用者輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程式設計語言,它定義了各種變數和參數,並具有的控制結構,包括迴圈和分支,也就是Shell Script。 1.Shell是一種命令直譯器,能夠解釋使用者輸入命令並且叫用作業系統功能; 2.Sehll是使用者與作業系統之間的介面,橋樑;即保護了作業系統核心也為使用者操作作業系統以及擷取功能提供了條件; 3.Shell 提供的命令能夠像命令一樣一條條的輸入,執行;也可以像程式設計語言一樣的編寫邏輯進行執行。所以Shell是一種程式設計語言;
4.shell提供了你與作業系統之間通訊的方式。有兩種: a.
互動方式:(從鍵盤輸入,並且可以立即得到響應)其實就是一次輸入一條命令;
b.非互動方式
:以
shell script執行。shell script是放在檔案中的一串shell和作業系統命令,它們可以被重複使用。本質上,shell script是命令列命令簡單的組合到一個檔案裡面。 在這種模式下,shell不與你進行互動,而是讀取存放在檔案中的命令,並且執行它們。當它讀到檔案的結尾,shell也就終止了。二.什麼是bash? 1.Shell類型 shell的類型 在UNIX中主要有: Bourne shell (包括 sh,ksh,and bash) Bourne shell ( sh) Korn shell ( ksh) Bourne Again shell ( bash) POSIX shell ( sh) C shell (包括 csh and tcsh) C shell ( csh) TENEX/TOPS C shell ( tcsh) 2.最常見的是:bash;所以,bash是Shell的一種;三.什麼是Shell Script? shell script 是利用 shell 的功能所寫的一個『程式 (program)』,這個程式是使用純文字檔,將一些 shell 的語法與指令(含外部指令)寫在裡面, 搭配正規標記法、管線命令與資料流重導向等功能,以達到我們所想要的處理目的。 shell script 就像是早期 DOS 年代的批處理 (.bat) ,最簡單的功能就是將許多指令彙整寫在一起, 讓使用者很輕易的就能夠 one touch 的方法去處理複雜的動作 (
執行一個檔案 "shell script" ,就能夠一次執行多個指令)。 而且 shell script 更提供陣列、迴圈、條件與邏輯判斷等重要功能,讓使用者也可以直接以 shell 來撰寫程式。
一.Shell基本概念