$0: 腳本本身文件名稱
$1: 命令行第一個參數,$2爲第二個,以此類推
$*: 所有參數列表
$@: 所有參數列表
$#: 參數個數
$$: 腳本運行時的PID
$?: 腳本退出碼
$() 等同於: ··(反引號):運行一段命令
$(()) 進行數字運算
∗ 與 @ 的區別
當命令行爲
run-test.sh 1 2 3
"$*" 表示"1 2 3" 所有參數列表,不包括腳本本身。
"$@" 表示"1" "2" "3"
注:@ 和* 只在被雙引號包起來的時候纔會有差異,雙引號括起來的情況:
$*將所有的參數認爲是一個字段
$@以IFS(默認爲空格)來劃分字段,
for k in "$@" 循環次數是參數個數
1
2
3
for arg in "$*" 只進行一次循環
1 2 3