Linux學習筆記 -----Shell概述
一、什麼是Shell?
Shell是一個命令列直譯器,它為使用者提供了一個向Linux核心傳送請求以便執行程式的介面系統級程式,使用者可以用Shell來啟動,掛起,停止甚至是編寫一些程式。Shell還是一個功能強大的程式語言,易編寫,易除錯,靈活性強。Shell是解釋執行的指令碼語言,在Shell中可以直接呼叫Linux系統命令。
二、Shell的分類
1、Bourne Shell:簡稱:B Shell,從1979年起Unix就開始使用Bourne Shell,B Shell的主檔案字尾是.sh,bshell不支援歷史記錄。主要包括:sh、Bash、psh、zsh。
2、C Shell:C Shell主要在BSD版的Unix系統中使用,其語法和C語言類似而得名。CShell主要包括:csh,tcsh。
3、顯示當前系統中所使用的是什麼版本的Shell。例如:echo $SHELL
4、顯示當前系統中所有可以支援的Shell。例如:cat /etc/shells
5、切換到不同的Shell可以直接使用shell的名稱即可。例如:bash、sh等等。exit退出shell。
三、Shell指令碼的執行方式
1、echo:表示在控制檯輸出一句話。如果輸出內容包含空格,必須使用雙引號;如果 echo中使用了-e選項則可以使用特殊字元。
控制字元 | 作用 |
\a | 輸出警告音 |
\b | 顯示退格鍵 |
\n | 換行符 |
\r | 回車鍵 |
\t | 製表符。 |
\v | 垂直製表符 |
\0nnn | 按照八進位制ASCII碼輸出字元,其中0為數字零,nnn為三位八進位制數。例如:echo -e "\0123" 顯示大寫S |
\xhh | 按照十六進位制ASCII碼輸出字元,其中hh為兩位十六進位制數。例如:echo -e "\x61" 顯示小寫a |
\e[1;31m \e[0:m |
通過顏色顯示輸出的字串。 顏色列表: #30m=黑色 #31m=紅色 #32m=綠色 #33m=黃色 #34m藍色 #35m=洋紅 #36m=青色 #37m=白色 例如:echo -e "\e[1;31mhello world\e[0m" 以紅色輸出hello world。 |
2、定義指令碼:
a、建立一個hello.sh的文字檔案;
b、然後以#!/bin/bash開頭,這裡的表示指令碼的宣告,必須要加上。
c、輸出指令。指令中#表示註釋的意思。
例:
#!/bin/bash #My First Program! echo -e "\e[1;31mhello wolrd\e[0m"
3、執行指令碼
a、直接使用bash hello.sh執行指令碼,但是這種不方便,優點是不需要賦予指令碼執行許可權。
b、首先賦予指令碼執行許可權,然後再執行指令碼。執行方便,缺點需要手動賦予執行許可權。
chmod 775 hello.sh ./hello.sh