Linux Shell簡介

什麼是 shell

Shell 是系統的用戶界面,提供了用戶和內核進行交互操作的一種接口。同時,Shell 也是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell 有自己的編程語言用於對命令的編輯,它允許用戶編寫由 shell 命令組成的程序。

通常在圖形界面中對實際體驗帶來差異的不是不同發行版的各種終端模擬器,而是這個 Shell(殼)。有殼就有核,這裏的核就是指 UNIX/Linux 內核,Shell 是指“提供給使用者使用界面”的軟件(命令解析器),類似於 DOS 下的 command(命令行)和後來的 cmd.exe 。

UNIX/Linux 操作系統下的 Shell 既是用戶交互的界面,也是控制系統的腳本語言。當然這一點有別於 Windows 下的命令行,雖然該命令行也提供很簡單的控制語句。在 Windows 操作系統下,有些用戶從來都不會直接使用 Shell。然而在 UNIX 系列操作系統下,Shell 仍然是控制系統啓動和其它很多實用工具的腳本解釋程序。

 shell 類別

在 UNIX/Linux 中比較常見的 Shell

  • Bourne Again Shell (簡稱 bash)

  • Bourne Shell(簡稱 sh)

  • C-Shell(簡稱 csh)

  • Korn Shell(簡稱 ksh)

  • Z shell(簡稱 zsh)

Ubuntu 終端默認使用的是 bash,默認的桌面環境是GNOME 或者 Unity(基於 GNOME),我們的環境中使用的分別是 zsh 和 xfce

還可以通過 cat /etc/shells 來查看我們主機上的 shell 類型。

image.png

第一個 shell 腳本

打開文本編輯器(可以使用 vi/vim 命令來創建文件),新建一個文件 test.sh,擴展名爲 sh(sh 代表 shell),擴展名並不影響腳本執行。

image.png

輸入代碼:

image.png

先按 ESC鍵,再輸入 :wq保存退出編輯,具體的 vim 編輯器使用會在後面章節詳細講解。

注意: #!是一個約定的標記,告訴系統這個腳本是用指定的解釋程序來執行。不指定時,默認使用 $SHELL 變量的值。

嘗試執行編寫的腳本文件 執行腳本方式 ./test.sh  直接執行會提示腳本權限不夠。

image.png

image.png

使用chmod +x test.sh  爲編寫的腳本賦予執行權限

image.png

賦予腳本文件執行權限後再次執行 ./test.sh , 執行後輸出腳本內容

image.png

在實際工作建議使用 zsh 來執行腳本,他能夠提供很多腳本輸出信息。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章