$# 是傳給腳本的參數個數
$0 是腳本本身的文件名
$1 是腳本后接的第一個參數
$2 是腳本后接的第二個參數
$@ 是傳給腳本的所有參數列表,"$1" "$2" "$3" … "$n",所有參數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。$@ 跟$*類似,但是可以當作數組用
$* 是以一個單字符串顯示傳給腳本的所有參數,"$1 $2 $3 … $n",所有參數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數,此選項參數可超過9個。
$$ 是腳本運行的當前進程ID號(ProcessID,即腳本運行的當前進程ID號)
$? 是最后運行命令的結束狀態碼,0表示沒有錯誤,其他表示有錯誤
$! 最后運行的后台Process的PID(后台運行的最后一個進程的進程ID號)
$- 顯示shell使用的當前選項,與set命令功能相同
$1~$n 添加到Shell的各參數值。$1是第1參數、$2是第2參數…。
轉:https://my.oschina.net/u/3997182/blog/3071460
https://blog.csdn.net/helloxiaozhe/article/details/80940066