linux shell中$0,$?,$!等的特殊用法


一、Shell腳本中$0、$?、$!、$$、$*、$#、$@等的意義說明

(1)$$

Shell本身的PID(ProcessID,即腳本運行的當前進程ID號)

(2)$!

Shell最后運行的后台Process的PID(后台運行的最后一個進程的 進程ID號)

(3)$?

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

(4)$-

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

(5)$*

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

(6)$@

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

(7)$*

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

(8)$#

添加到Shell的參數個數

(9)$0

Shell本身的文件名

(10)$1~$n

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

二、腳本實例

(1)$# 、$0 、$1 、$2 、$@ 

通過顯示結果可以看到: 

$# 是傳給腳本的參數個數 
$0 是腳本本身的名字 
$1 是傳遞給該shell腳本的第一個參數 
$2 是傳遞給該shell腳本的第二個參數 
$@ 是傳給腳本的所有參數的列表

(2)$?

Linux shell中if [ $? -eq 0 ] 語句判斷命令是否執行成功,使用時需要注意,if后面的中括號[ $? -eq 0 ],括號的兩邊需要有一個空格。

(3)檢測程序是否正在運行

 

grep后為需要檢測的程序名,也可以是當前腳本名稱。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM