什麼是shell,它的作用是什麼(Shell是什麼)
對於任何從事於系統管理員方面的人來說,Shell 指令碼程式設計是一門必不可少的技能,而如今人們編寫指令碼的主要 shell 是 Bash。Bash 是幾乎所有的 Linux 發行版和現代 MacOS 版本的預設配置,也很快就會成為 Windows 終端 的原生部分。你可以說 Bash 無處不在。隨著時間的推移,Bash 逐漸成長。其他工程師開始使用它並對其設計進行改進。隨著 Unix 讓位於 Linux 和開源軟體運動,Bash 成為開源世界的至關重要的指令碼語言。
(圖來源於百度)
shell 有兩個主要目標,首先Shell是一個命令列直譯器,它為使用者提供了一個向Linux核心傳送請求以便執行程式的介面系統級程式,使用者可以用shell來啟動、掛起、停止甚至編寫一些程式。Shell還是一個功能強大的程式語言,易編寫、易除錯、靈活性強。Shell是解釋執行的指令碼語言,在Shell中可以直接呼叫Linux系統命令。換句話說,如果要掌握linux系統必須要學好shell,shell是linux 的敲門磚。
下面我來說一下Linux的重要性,Linux的幾乎每個命令(工具)都很好用,有些甚至很強大,如awk、sed、vim、sar等等,就拿awk來說,它在許多場合下被稱作是程式語言——處理文字資料的程式語言。unix和Linux的家族足夠龐大,就連移動端作業系統IOS和Android,也分別是基於Unix和Linux而衍生出來的作品。掌握了Linux,也就自然而然地熟知Android、Ios、Mac OS X等系統。熟悉了Linux系統的命令列操作,對Android的shell,adb shell命令、Mac OS X的shell的熟悉自然不在話下。Linux還是最佳的也是應用最多的伺服器端作業系統。當你去面試的時候,Linux和shell將會出現在測試職位要求裡,在面試的時候雖然不是硬性要求,但是你想成為一名合格的測試員,那Linux是必備技能。還是前面說的Linux作為使用得越來越多的搭配伺服器的系統,它成為了不管是測試還是運維還是開發,都必須會的內容,就好比高樓大廈。那麼shell好比地基,是不可缺少的。可能現在你在求職的時候並沒有因為自己是否掌握shell而被拒之門外,但是隨著時代的發展,特別是今年的疫情,進一步體現了我們程式設計師的重要性,那麼在需要的同時,自然會提出高要求,而shell就是高要求的基石,是一名合格的程式設計師,不被時代淘汰的測試員必須掌握的技能。我相信當你在有這樣的疑問的時候吧,你肯定是想在軟體行業有所建樹。
(圖片來源於百度)