shell命令參數的含義

2021-06-06

關鍵字:shell參數系統變量


 

變量名 含義
$@ 此命令下所攜帶的所有參數。以空格隔開
$* 此命令下所攜帶的所有參數。以空格隔開
$# 此命令下所攜帶參數的數量。
$n n是0 ~ n 的數字,表示第幾個參數。$0表示命令名本身。$1表示第一個參數,以此類推。
$_ 保存之前執行的命令的最後一個參數
$$ 獲取當前進程的PID,即本shell命令的進程ID號。
$! 在後臺運行的最後一個進程的PID。
$? 上一次命令的執行結果。0爲執行成功,其它值表示執行失敗。
   

 

以下是測試這些系統變量的源碼:

#!/bin/sh

echo "\$@:$@"
echo "\$*:$*"
echo "\$#:$#"
echo "\$0:$0"
echo "\$1:$1"
echo "\$_:$_"
echo "\$$:$$"
echo "\$!:$!"
ls jkkk 2> /dev/null
echo "\$?:$?"

上述倒數第二行是人爲構造一個命令執行出錯的場景出來以測試 $? 變量的值。

 

以下是執行結果:

root@ubuntu:~# ./param.sh p1 p2
$@:p1 p2
$*:p1 p2
$#:2
$0:./param.sh
$1:p1
$_:./param.sh
$$:6644
$!:
$?:2

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章