1、變量
變量分爲環境變量、自定義變量。
環境變量=全局變量
自定義變量=局部變量
自定義變量=局部變量
env用於顯示用戶環境區中的變量及其取值,即環境變量;
set用於顯示本地數據區和用戶環境區中的變量及其取值;
unset用於刪除指定變量當前的取值,該值將被指定爲NULL;
export命令用於將本地數據區中的變量轉移到用戶環境區,即將自定義變量轉換爲環境變量。
2、變量參數
$# 傳遞到腳本的參數個數
$* 所有位置參數的內容
3、IF語句
[ -f "$file" ] 判斷$file是否是一個文件
[ $a -lt 3 ] 判斷$a的值是否小於3,同樣-gt和-le分別表示大於或小於等於
[ -x "$file" ] 判斷$file是否存在且有可執行權限,同樣-r測試文件可讀性
4、READ
read -p "Enter your name : " name
echo $name
echo "Enter your name : "
read -a name
echo $name
5、變量規則
- 變量與變量內容以一個等號『=』來連結,如下所示:
『myname=VBird』 - 等號兩邊不能直接接空格符,如下所示爲錯誤:
『myname = VBird』或『myname=VBird Tsai』 - 變量名稱只能是英文字母與數字,但是開頭字符不能是數字,如下爲錯誤:
『2myname=VBird』 - 變量內容若有空格符可使用雙引號『"』或單引號『'』將變量內容結合起來,但
- 雙引號內的特殊字符如 $ 等,可以保有原本的特性,如下所示:
『var="lang is $LANG"』則『echo $var』可得『lang is en_US』 - 單引號內的特殊字符則僅爲一般字符 (純文本),如下所示:
『var='lang is $LANG'』則『echo $var』可得『lang is $LANG』
- 雙引號內的特殊字符如 $ 等,可以保有原本的特性,如下所示:
- 可用跳脫字符『 \ 』將特殊符號(如 [Enter], $, \, 空格符, '等)變成一般字符;
- 在一串命令中,還需要藉由其他的命令提供的信息,可以使用反單引號『`命令`』或 『$(命令)』。特別注意,那個 ` 是鍵盤上方的數字鍵 1 左邊那個按鍵,而不是單引號! 例如想要取得核心版本的配置:
『version=$(uname -r)』再『echo $version』可得『2.6.18-128.el5』 - 若該變量爲擴增變量內容時,則可用 "$變量名稱" 或 ${變量} 累加內容,如下所示:
『PATH="$PATH":/home/bin』 - 若該變量需要在其他子程序運行,則需要以 export 來使變量變成環境變量:
『export PATH』 - 通常大寫字符爲系統默認變量,自行配置變量可以使用小寫字符,方便判斷 (純粹依照使用者興趣與嗜好) ;
- 取消變量的方法爲使用 unset :『unset 變量名稱』例如取消 myname 的配置:
『unset myname』