變量 | 含義 |
---|---|
$0 | 當(dāng)前腳本的文件名。 |
$n(n≥1) | 傳遞給腳本或函數(shù)的參數(shù)。n 是一個(gè)數(shù)字,表示第幾個(gè)參數(shù)。例如,第一個(gè)參數(shù)是 $1,第二個(gè)參數(shù)是 $2。 |
$# | 傳遞給腳本或函數(shù)的參數(shù)個(gè)數(shù)。 |
$* | 傳遞給腳本或函數(shù)的所有參數(shù)。 |
$@ | 傳遞給腳本或函數(shù)的所有參數(shù)。當(dāng)被雙引號(hào)" "包含時(shí),$@ 與 $* 稍有不同,我們將在《Shell $*和$@的區(qū)別》一節(jié)中詳細(xì)講解。 |
$? | 上個(gè)命令的退出狀態(tài),或函數(shù)的返回值,我們將在《Shell $?》一節(jié)中詳細(xì)講解。 |
$$ | 當(dāng)前 Shell 進(jìn)程 ID。對(duì)于 Shell 腳本,就是這些腳本所在的進(jìn)程 ID。 |
下面我們通過(guò)兩個(gè)例子來(lái)演示。
1) 給腳本文件傳遞參數(shù)
編寫(xiě)下面的代碼,并保存為 test.sh:
#!/bin/bash echo "Process ID: $$" echo "File Name: $0" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#"
運(yùn)行 test.sh,并附帶參數(shù):
[mozhiyan@localhost demo]$ . ./test.sh Shell Linux
Process ID: 5943
File Name: bash
First Parameter : Shell
Second Parameter : Linux
All parameters 1: Shell Linux
All parameters 2: Shell Linux
Total: 2
2) 給函數(shù)傳遞參數(shù)
編寫(xiě)下面的代碼,并保存為 test.sh:
#!/bin/bash #定義函數(shù) function func(){ echo "Language: $1" echo "URL: $2" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#" } #調(diào)用函數(shù) func Java http://c.biancheng.net/java/
運(yùn)行結(jié)果為:
Language: Java
URL: http://c.biancheng.net/java/
First Parameter : Java
Second Parameter : http://c.biancheng.net/java/
All parameters 1: Java http://c.biancheng.net/java/
All parameters 2: Java http://c.biancheng.net/java/
Total: 2
到此這篇關(guān)于Shell特殊變量(Shell $#、$*、$@、$?、$$)的使用的文章就介紹到這了,更多相關(guān)Shell特殊變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:通遼 黔南 常州 隴南 河北 黔南 淮南 河池
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell特殊變量(Shell $#、$*、$@、$?、$$)的使用》,本文關(guān)鍵詞 Shell,特殊,變量,的,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。上一篇:Shell PATH變量用法詳解