什麼是Shell? Command指令?Shell Script?
什麼是Shell? Command指令?Shell Script?
什麼是Shell?
Shell 是外殼的意思,就是作業系統的外殼。我們可以通過shell命令來操作和控制作業系統。
Shell的版本與路徑
那麼目前我們的 Linux (以 CentOS 7.x 為例) 有多少我們可以使用的 shells 呢? 你可以檢查一下 /etc/shells 這個檔案,至少就有底下這幾個可以用的 shells :
- /bin/sh (已經被 /bin/bash 所取代)
- /bin/bash (就是 Linux 預設的 shell)
- /bin/tcsh (整合 C Shell ,提供更多的功能)
- /bin/csh (已經被 /bin/tcsh 所取代)
雖然各家 shell 的功能都差不多,但是在某些語法的下達方面則有所不同,因此建議你還是得要選擇某一種 shell 來熟悉一下較佳。 Linux 預設就是使用 bash 。
查看Shell
Shell是一個程序,一般都是放在/bin或者/usr/bin目錄下,當前Linux系統可用的Shell都記錄在/etc/shells文件中。/etc/shells是一個純文本文件,你可以在圖形界面下打開它,也可以使用cat命令查看它。
通過cat命令來查看當前Linux系統的可用Shell:
$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin/bin/tcsh/bin/csh
在現代的Linux上,sh已經被bash代替,/bin/sh往往是指向/bin/bash的符號鏈接。如果你希望查看當前Linux的默認Shell,那麼可以輸出SHELL環境變量,輸出結果表明默認的Shell是bash。
$ echo $SHELL /bin/bash
什麼是Command指令碼?
指令碼就是由Shell命令組成的檔案,這些命令都是可執行程式的名字。
Shell Script
Shell script 就像是早期 DOS 年代的批次檔 (.bat) ,最簡單的功能就是 "將許多指令彙整" 寫在一起, 讓使用者很輕易的就能夠 one touch 的方法去處理複雜的動作 (執行一個檔案 "shell script" ,就能夠一次執行多個指令)。 而且 shell script 更提供陣列、迴圈、條件與邏輯判斷等重要功能,讓使用者也可以直接以 shell 來撰寫程式,而不必使用類似 C 程式語言等傳統程式撰寫的語法呢!




留言
張貼留言
Aron阿龍,謝謝您的留言互動!