1. 程式人生 > >shell指令碼中的特殊變數

shell指令碼中的特殊變數

有時候在linux上釋出專案的時候,可以把釋出操作繼承在shell指令碼中,以下記錄了一些shell指令碼的變數含義,作為備註:

 

shell特殊變數含義
變數 含義
$0 當前指令碼的檔名稱
$n 傳遞給指令碼或函式的引數。n 是一個數字,表示第幾個引數。例如,第一個引數是$1,第二個引數是$2
$# 傳遞給指令碼或函式的引數個數
$* 傳遞給指令碼或函式的所有引數
[email protected]
傳遞給指令碼或函式的所有引數。被雙引號(" ")包含時,與 $* 稍有不同
$? 上個命令的退出狀態,或函式的返回值
$$ 當前Shell程序ID。對於 Shell 指令碼,就是這些指令碼所在的程序ID

提示:$* 和 [email protected] 的區別

$* 和 [email protected] 都表示傳遞給函式或指令碼的所有引數,不被雙引號(" ")包含時,都以"$1" "$2" … "$n" 的形式輸出所有引數。但是當它們被雙引號(" ")包含時,"$*" 會將所有的引數作為一個整體,以"$1 $2 … $n"的形式輸出所有引數;"

[email protected]" 會將各個引數分開,以"$1" "$2" … "$n" 的形式輸出所有引數。