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