Shell中的$0、$1、$2、$*、$@等不同符號的含義解析

$0: 腳本本身文件名稱
$1: 命令行第一個參數,$2爲第二個,以此類推
$*: 所有參數列表
$@: 所有參數列表
$#: 參數個數
$$: 腳本運行時的PID
$?: 腳本退出碼
$()  等同於: ··(反引號):運行一段命令
$(()) 進行數字運算 

∗ 與 @ 的區別

當命令行爲 

run-test.sh 1 2 3

"$*" 表示"1 2 3" 所有參數列表,不包括腳本本身。
"$@" 表示"1" "2" "3" 

注:@ 和* 只在被雙引號包起來的時候纔會有差異,雙引號括起來的情況:
       $*將所有的參數認爲是一個字段

      $@以IFS(默認爲空格)來劃分字段,

for k in "$@"   循環次數是參數個數
1
2
3

for arg in "$*"  只進行一次循環
1 2 3

 

 

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