shell中$0, $#, $*, $@, $?, $$的含義



shell中$0, $#, $*, $@, $?, $$的含義
$0    當前腳本的文件名
$n    傳遞給腳本或函數的參數。n 是一個數字,表示第幾個參數。例如,第一個參數是$1,第二個參數是$2。
$#    傳遞給腳本或函數的參數個數。
$*    傳遞給腳本或函數的所有參數。
$@    傳遞給腳本或函數的所有參數。
$?    上個命令的退出狀態,或函數的返回值。
$$    當前Shell進程ID。對於 Shell 腳本,就是這些腳本所在的進程ID。
$!    Shell最后運行的后台Process的PID
$-    顯示Shell使用的當前選項,與set命令功能相同。

$* 和 $@ 的區別    
    $* 和 $@ 都表示傳遞給函數或腳本的所有參數,
不被雙引號(" “)包含時,都以”$1" “2"…"2"…"n” 的形式輸出所有參數

當它們被雙引號(" “)包含時,”$*" 會將所有的參數作為一個整體,以"$1 $2 … n"的形式輸出所有參數;
"n"的形式輸出所有參數;"@" 會將各個參數分開,以"$1" “2"…"2"…"n” 的形式輸出所有參數。


免責聲明!

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



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