shell特殊變數 , , , , n等

2021-08-20 20:39:23 字數 904 閱讀 6393

$0 : 輸出函式或指令碼的名字

$n : 輸出函式或指令碼的第n個引數

$$ :輸出當前shell所屬的pid ,可通過這個命令獲取shell執行時的pid

$# :輸出函式或指令碼的輸入引數個數

$@ :輸出函式或指令碼的輸入引數

$* :輸出函式或指令碼的輸入引數

$* 和 $@ 都表示傳遞給函式或指令碼的所有引數,不被雙引號(" ")包含時,都以"$1"

"$2" … "$n" 的形式輸出所有引數。

但是當它們被雙引號(" ")包含時,"$*" 會將所有的引數作為乙個整體,以"$1

$2 … $n"的形式輸出所有引數;"$@" 會將各個引數分開,以"$1"

"$2" … "$n" 的形式輸出所有引數。

指令碼中遍歷引數的應用

echo

"script begin...."

echo

"script name:"

$0echo

"script pid:" $$

echo

"param size:"

$#echo

"params:$@"

echo

"params:$*"

echo

'$@方式'

for loop in

"$@"

doecho

"..."

echo

$loop

done

echo

'while方式'

while [ $# != 0 ]

doecho

"..."

echo

$1 shift #左移,第二個引數變為第乙個

done

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