Shell常用的特殊位置引數變數說明

chenfeng發表於2018-02-22
$0    獲取當前執行的shell指令碼的檔名,如果執行指令碼包含了路徑,那麼就包括指令碼路徑
$n    獲取當前執行的shell指令碼的第n個引數值,n=1..9,當n為0時表示指令碼的檔名;如果n大於9,則用大括號括起來,例如${10},接的引數以空格隔開
$#    獲取當前執行的shell指令碼後面接的引數的總個數
$*    獲取當前shell指令碼所有傳參的引數,不加引號和$@相同,如果給$*加上雙引號,例如"$*",則表示將所有的引數視為單個字串,相當於"$1 $2 $3"
$@    獲取當前shell指令碼所有傳參的引數,不加引號和$*相同:如果給$@加上雙引號,例如"$@",則表示將所有的引數視為不同的獨立字串,相當於"$1" "$2" "$3" "..."。這事將多引數傳遞給其他程式的最佳方式,因為它會保留所有的內嵌在每個引數裡的任何空白。當"$@"和"$*"都加上雙引號時,兩者是有區別的,都不加雙引號時兩者無區別。
$?  獲取當前shell指令碼執行上一個指令的返回值

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2151142/,如需轉載,請註明出處,否則將追究法律責任。

相關文章