linux中shell變量$#,$@,$0,$1,$2的含義解釋:
變量說明:
$$
Shell本身的PID(ProcessID)
$!
Shell最後運行的後臺Process的PID
$?
最後運行的命令的結束代碼(返回值)
$-
使用Set命令設定的Flag一覽
$*
所有參數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。
$@
所有參數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。
$#
添加到Shell的參數個數
$0
Shell本身的文件名
$1~$n
添加到Shell的各參數值。$1是第1參數、$2是第2參數…。
=======================================================
$0 shell的命令本身(包括完整路徑)
$1到$9 數字表示shell 的第幾個參數
$# 傳遞到腳本的參數個數
$* 以一個單字符串顯示所有向腳本傳遞的參數
$$ 腳本運行的ID號
$! 後臺運行的最後一個進程的ID號
$@ 與$*相同。
$- 顯示shell使用的當前選項。
$? 顯示最後命令的執行狀況。0表示沒有錯誤。
舉例:
[wangpl@l bin]$ ./test.sh p1 p2
$0 is { ./test.sh }
$1 is { p1 }
$2 is { p2 }
$* is { p1 p2 }
$@ is { p1 p2 }
$# is { 2 }
$! is { }
$$ is { 25643 }
$? is { 0 }