$#引數個數
$0程式的名稱
$1傳給函式的第1個引數
$2傳給函式的第2個引數
$3傳給函式的第3個引數
...$9
傳給函式的第9個引數,9往後的必須將數字{}起來
$傳給函式的第10個引數
$傳給函式的第11個引數
......
$n傳給函式的第n個引數
$?函式或者程式正常退出返回0,否則返回1
$*傳遞給程式的所有引數組成的字串
$@函式的引數順序儲存的字串
$$本程式程序id
$!上乙個程式程序id
# 自定義變數「=」前後不能有空格
a="hello world"
echo $a
echo "你好!$bcde" #此時變數為$
#整數的運算
int_a=1
int_b=3
int_c=`expr $int_a + $int_b` #"+"前後有空格
$如果變數variable已被設定且值非空,則代入它的值。否則,代入word
$已被設定且值非空,就代入它的值。否則,將variable的值設為word。始終代入variable的值。位置參量不能用這種方式賦值
$如果變數variable已被設定且值非空,則代入word的值。否則,什麼都不代入(代入空值)
$如果變數variable已被設定且值非空,則代入它的值。否則,輸出word並且從shell退出。如果省略了word,就會顯示資訊:parameter null or not set
$獲得變數variable值中位置從offset開始的子串,偏移為從0到串的末尾19
$獲得變數variable值中位置從offset開始長度為length的子串
$將變數值的尾部與模式進行最小匹配,並將匹配到的部分刪除
$將變數值的尾部與模式進行最大匹配,並將匹配到的部分刪除
$將變數值的頭部與模式進行最小匹配,並將匹配到的部分刪除
$將變數值的頭部與模式進行最大匹配,並將匹配到的部分刪除
$替換為變數中的字元個數。如果是*或
@,長度則是位置參量的個數
shell 特殊變數
變數解釋 展開為 1c 2c 3c 4c 5c.其中字母c為變數 ifs 的第乙個字母,ifs預設為空.展開為 1 2 3 4 5 引數個數 上乙個命令的返回值 當前指令碼的程序id pid 上乙個後台執行程序的程序號.上乙個命令的最後乙個引數.下面的aaa bbb 為變數名 如果 aaa為空或未定...
Shell特殊變數
變數名只能包含數字 字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。例如,表示當前shell程序的id,即pid,看下面的 echo 執行結果29949 特殊變數列表 變數含義 0 當前指令碼的檔名 n傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如,第乙...
shell 特殊變數
前面已經講到,變數名只能包含數字 字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。例如,表示當前shell程序的id,即pid,看下面的 echo 執行結果29949 特殊變數列表 變數 含義 0 當前指令碼的檔名 n傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個...