shell 特殊變數彙總

2021-06-17 21:18:30 字數 1315 閱讀 2533

$#引數個數

$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 是乙個數字,表示第幾個...