1. $$
Shell自己的PID(ProcessID)shell
2. $!
Shell最後運行的後臺Process的PIDbash
3. $?
最後運行的命令的結束代碼(返回值)spa
4. $-
使用Set命令設定的Flag一覽code
5. $*
全部參數列表。如"$*"用「"」括起來的狀況、以"$1 $2 … $n"的形式輸出全部參數。blog
6. $@
全部參數列表。如"$@"用「"」括起來的狀況、以"$1" "$2" … "$n" 的形式輸出全部參數。class
7. $#
添加到Shell的參數個數test
8. $0
Shell自己的文件名後臺
9.$1~$n
添加到Shell的各參數值。$1是第1參數、$2是第2參數…。
咱們先寫一個簡單的腳本,執行之後再解釋各個變量的意義變量
mkdir test.sh
腳本內容以下:權限
#!/bin/bash echo "number:$#" echo "scname:$0" echo "first :$1" echo "second:$2" echo "argume:$@"
保存退出
wqa!
賦予腳本執行權限並執行
1.bash test.sh 2.chmod 755 test.sh ./test.sh
結果:
number:2 scname:./variable first: aa second:bb argume:aa bb
結果分析
經過顯示結果能夠看到:$# 是傳給腳本的參數個數$0 是腳本自己的名字$1是傳遞給該shell腳本的第一個參數$2是傳遞給該shell腳本的第二個參數$@ 是傳給腳本的全部參數的列表