本篇我會跟大家好好分享一下 Bash 以及為什麼要學習 Bash
首先電腦由硬體和軟體組成,而作業系統的核心(kernel)負責主要的運算工作。當我們輸入指令時,kernel 需要處理這些指令並輸出結果。但 kernel 本身並不知道我們的命令,例如 pwd,這時 shell 會將這些命令轉換成 kernel 能理解的程式碼。因此,使用電腦時,我們實際上是和 shell 互動,而不是直接與 kernel 溝通。那 shell 輸入一個命令﹐shell 會嘗試搜索整個命令行﹐並對其中的一些特殊字符做出處理﹐如果遇到 CR 字符的時候﹐就嘗試重組整行命令﹐並解釋給 kernel 執行,簡單來說 Shell 就像是介面,負責將使用者的命令翻譯給 kernel。
Bash 的全名為 Bourne-Again SHell,那 Bash 是一個命令處理器,通常執行於文字窗口中,並能執行使用者直接輸入的命令,作為 Linux 和其他 Unix 類操作系統的主要 Shell 程式,Bash 是 GNU Project 開發的一部分,它的設計是基於早期的 Bourne Shell(sh),並添加了許多新功能以增強使用體驗。
以下用圖片來說明之間的關係
*
和 ?
)和正則表達式來進行靈活的模式匹配,特別是在檔案搜尋或過濾資料時很有用。.sh
是 Bash 腳本檔案的常見擴展名,表示這個檔案是一個 shell script(即 shell 腳本)。雖然 .sh
不是強制性的,但它被用來方便識別這個檔案是用來執行 Bash 或其他 shell 命令的腳本。
因為可以提供給使用者和系統管理員一個明確的標記,表示這是一個 shell 腳本文件。
方便在文件管理器或編輯器中快速辨認文件類型。
除了作業系統工程師外,為什麼還要學習 Bash ? 因為
https://medium.com/hannah-lin/%E7%A8%8B%E5%BC%8F%E7%AD%86%E8%A8%98-bash-script-8926bbc0ac44
https://www.51cto.com/article/207381.html
https://linux.vbird.org/linux_basic/centos7/0320bash.php#bash_why