shell特殊變量

:特殊變量列表

  • $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就缆。

腳本:

#!/usr/bin/env sh

echo "pid" "  " "\$\$ -> $$"
echo "filename" "  " "\$0 -> $0"
echo "param1" "  " "\$1 -> $1"
echo "param2" "  " "\$2 -> $2"
echo "allparams" "  " "\$* -> $*"
echo "allparams" "  " "\$@ -> $*"
echo "totalparams" "  " "\$# -> $#"

運(yùn)行命令:

./test p1 p2 p3

運(yùn)行結(jié)果:

pid    $$ -> 717
filename    $0 -> ./test.sh
param1    $1 -> p1
param2    $2 -> p2
allparams    $* -> p1 p2 p3
allparams    $@ -> p1 p2 p3
totalparams    $# -> 3

$* $@區(qū)別

$* 和 $@ 都表示傳遞給函數(shù)或腳本的所有參數(shù),不被雙引號(hào)(" ")包含時(shí)谒亦,都以"$1" "$2" … "$n" 的形式輸出所有參數(shù)竭宰。

但是當(dāng)它們被雙引號(hào)(" ")包含時(shí),"$*" 會(huì)將所有的參數(shù)作為一個(gè)整體份招,以"$1 $2 … $n"的形式輸出所有參數(shù)切揭;"$@" 會(huì)將各個(gè)參數(shù)分開,以"$1" "$2" … "$n" 的形式輸出所有參數(shù)锁摔。

#!/usr/bin/env sh

echo "\$*=" $*
echo "\"\$*\"=" "$*"

echo "\$@=" $@
echo "\"\$@\"=" "$@"

echo "print each param from \$*"
for var in $*
do
echo "$var"
done

echo "print each param from \$@"
for var in $@
do
echo "$var"
done

echo "print each param from \"\$*\""
for var in "$*"
do
echo "$var"
done

echo "print each param from \"\$@\""
for var in "$@"
do
echo "$var"
done
./test a b c d
$*=  a b c d
"$*"= a b c d
$@=  a b c d
"$@"= a b c d
print each param from $*
a
b
c
d
print each param from $@
a
b
c
d
print each param from "$*"
a b c d
print each param from "$@"
a
b
c
d
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末廓旬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谐腰,更是在濱河造成了極大的恐慌孕豹,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件十气,死亡現(xiàn)場(chǎng)離奇詭異励背,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)砸西,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門叶眉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人籍胯,你說(shuō)我怎么就攤上這事竟闪。” “怎么了杖狼?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)妖爷。 經(jīng)常有香客問(wèn)我蝶涩,道長(zhǎng),這世上最難降的妖魔是什么絮识? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任绿聘,我火速辦了婚禮,結(jié)果婚禮上次舌,老公的妹妹穿的比我還像新娘熄攘。我一直安慰自己,他們只是感情好彼念,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布挪圾。 她就那樣靜靜地躺著浅萧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哲思。 梳的紋絲不亂的頭發(fā)上洼畅,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音棚赔,去河邊找鬼帝簇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛靠益,可吹牛的內(nèi)容都是我干的丧肴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胧后,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼芋浮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绩卤,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤途样,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后濒憋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體何暇,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年凛驮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了裆站。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡黔夭,死狀恐怖宏胯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情本姥,我是刑警寧澤肩袍,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站婚惫,受9級(jí)特大地震影響氛赐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜先舷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一艰管、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蒋川,春花似錦牲芋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夕冲。三九已至,卻和暖如春餐济,著一層夾襖步出監(jiān)牢的瞬間耘擂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工絮姆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留醉冤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓篙悯,卻偏偏與公主長(zhǎng)得像蚁阳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸽照,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,380評(píng)論 0 5
  • 前面已經(jīng)講到螺捐,變量名只能包含數(shù)字、字母和下劃線矮燎,因?yàn)槟承┌渌址淖兞坑刑厥夂x定血,這樣的變量被稱為特殊變量。 ...
    Viking_Den閱讀 243評(píng)論 0 0
  • Shell特殊變量:Shell $0, $#, $*, $@, $?, $$和命令行參數(shù) 特殊變量列表 變量 含...
    風(fēng)之去向_c305閱讀 245評(píng)論 0 0
  • 特殊變量列表 變量 含義n 傳遞給腳本或函數(shù)的參數(shù)诞外。n 是一個(gè)數(shù)字澜沟,表示第幾個(gè)參數(shù)。例如峡谊,第一個(gè)參數(shù)是...
    金星show閱讀 413評(píng)論 0 0
  • 特殊變量列表變量 含義n 傳遞給腳本或函數(shù)的參數(shù)茫虽。n 是一個(gè)數(shù)字,表示第幾個(gè)參數(shù)既们。例如濒析,第一個(gè)參數(shù)是//2。*...
    Crazy2015閱讀 181評(píng)論 0 0