$# 是傳給腳本的參數個數 $0 是腳本本身的名字 $1 是傳遞給該shell腳本的第一個參數 $2 是傳遞給該shell腳本的第二個參數 $@ 是傳給腳本的所有參數的列表 $* 是以一個單字符串顯示所有向腳本傳遞的參數,與位置變量不同,參數可超過9個 $$ 是腳本運行的當前進程ID號 $? 是顯示最后命令的退出狀態,0表示沒有錯誤,其他表示有錯誤
其中,,$@和$*都表示命令行所有參數(不包含$0),但是$*將命令行的所有參數看成一個整體,而$@則區分各個參數
見下例:
#!/bin/bash echo "number:$#" echo "name:$0" echo "first:$1" echo "second:$2" echo "list:$@" echo "param list:$*" echo "pid:$$" echo "exit status:$?" for i in "$@" do echo $i done for i in "$*" do echo $i done
輸出如下:
number:6 name:./param.sh first:1 second:2 list:1 2 3 4 5 6 param list:1 2 3 4 5 6 pid:31600 exit status:0 1 2 3 4 5 6 1 2 3 4 5 6