天天看點

Shell腳本$0、$?、$!、$$、$*、$#、$@等含義

在寫shell腳本時,經常要用到大量的$符号的一些表達式

這些表達式含義如下:

$$

Shell本身的PID(ProcessID,即腳本運作的目前 程序ID号)

$!

Shell最後運作的背景Process的PID(背景運作的最後一個程序的 程序ID号)

$?

最後運作的指令的結束代碼(傳回值)即執行上一個指令的傳回值 (顯示最後指令的退出狀态。0表示沒有錯誤,其他任何值表明有錯誤)

$-

顯示shell使用的目前選項,與set指令功能相同

$*

所有參數清單。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數,此選項參數可超過9個。

$@

所有參數清單。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。

$@ 跟$*類似,但是可以當作數組用

$#

添加到Shell的參數個數

$0

Shell本身的檔案名

$1~$n

添加到Shell的各參數值。$1是第1參數、$2是第2參數…。

perror 2

可以檢視錯誤碼詳細資訊

OS error code   2:  No such file or directory

這樣就清楚了,原來是檔案不存在~

繼續閱讀