Linux中變量$#,$@,$0,$1,$2,$*,$$,$?的含義

   對這些個東西,想必大神們都已經是爛熟於胸了,但是還有些剛接觸Linuxunix等系統的人,可能還是不太熟悉這些個變量,所以今天我就來給大家分享分享。有什麼問題可以加QQ羣,大家一起討論——運維部落:348384728


爲了使大家更好的理解,就先寫一個簡單的腳本,執行以後再解釋各個變量的意義吧。

 

# touch test

# vi test

 

腳本內容如下:

 #!/bin/sh

echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"

echo "show parm list:$*"
echo "show process id:$$"

echo "show precomm stat: $?"

保存退出

 

 賦予腳本執行權限

 # chmod +x test

 

 執行腳本

 # ./test aa bb

number:2
scname:./test
first:aa
second:bb
argume:aa bb

show parm list:aa bb
show process id:24544

show precomm stat:0
 

通過顯示結果可以看到:

 

$# 是傳給腳本的參數個數

$0 是腳本本身的名字

$1 是傳遞給該shell腳本的第一個參數

$2 是傳遞給該shell腳本的第二個參數

$@ 是傳給腳本的所有參數的列表

$* 是以一個單字符串顯示所有向腳本傳遞的參數,與位置變量不同,參數可超過9

$$ 是腳本運行的當前進程ID

$? 是顯示最後命令的退出狀態,0表示沒有錯誤,其他表示有錯誤

 

 


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