所有參數(shù)列表内斯。如"$@"用「"」括起來的情況栋猖、以"$1" "$2" … "$n" 的形式輸出所有參數(shù)净薛。$#
添加到Shell的參數(shù)個數(shù)$0
Shell本身的文件名$1~$n
添加到Shell的各參數(shù)值。$1是第1參數(shù)蒲拉、$2是第2參數(shù)…肃拜。
我們先寫一個簡單的腳本,執(zhí)行以后再解釋各個變量的意義
vi variable腳本內(nèi)容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
保存退出賦予腳本執(zhí)行權(quán)限
# chmod +x variable
執(zhí)行腳本#
./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb
通過顯示結(jié)果可以看到:
$# 是傳給腳本的參數(shù)個數(shù)
$0 是腳本本身的名字
$1是傳遞給該shell腳本的第一個參數(shù)
$2是傳遞給該shell腳本的第二個參數(shù)
$@ 是傳給腳本的所有參數(shù)的列表
其他特殊變量
$$:Shell本身的PID(ProcessID)
$! :Shell最后運行的后臺Process的PID
$?:最后運行的命令的結(jié)束代碼(返回值)
$-:使用Set命令設(shè)定的Flag一覽