紅帽linux[基礎(chǔ)命令] 特殊變量列表
特殊變量列表??
$0
當(dāng)前腳本的文件名
$n
傳遞給腳本或函數(shù)的參數(shù)。n 是一個(gè)數(shù)字,表示第幾個(gè)參數(shù)。例如,第一個(gè)參數(shù)是$1,第二個(gè)參數(shù)是$2。
$#
傳遞給腳本或函數(shù)的參數(shù)個(gè)數(shù)。
$*
傳遞給腳本或函數(shù)的所有參數(shù)。
$@
傳遞給腳本或函數(shù)的所有參數(shù)。被雙引號(hào)(" ")包含時(shí),與 $* 稍有不同
$?
上個(gè)命令的退出狀態(tài),或函數(shù)的返回值。
$$
當(dāng)前Shell進(jìn)程ID。對(duì)于 Shell 腳本,就是這些腳本所在的進(jìn)程ID。
命令行參數(shù)
運(yùn)行腳本時(shí)傳遞給腳本的參數(shù)稱為命令行參數(shù)。命令行參數(shù)用 $n 表示,例如,$1 表示第一個(gè)參數(shù),$2 表示第二個(gè)參數(shù),依次類推。
請(qǐng)看下面的代碼:
建立一個(gè)testvar.sh文件,寫入以下內(nèi)容:
#!/bin/bash
echo "File Name: $0"
echo "First Parameter : $1"
echo "First Parameter : $2"
echo "Quoted Values: $@"
echo "Quoted Values: $*"
echo "Total Number of Parameters : $#"
然后chmod +x testvar.sh改變文件的權(quán)限,運(yùn)行結(jié)果:
[kiosk@foundation0 ~]$ ./testvar.sh cq sztech
File Name: ./testvar.sh
First Parameter : cq
First Parameter : sztech
Quoted Values: cq sztech
Quoted Values: cq sztech
Total Number of Parameters : 2
