這篇文章給大家分享的是有關(guān)Linux Shell怎么獲取參數(shù)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
甘谷網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。
$# 是傳給腳本的參數(shù)個(gè)數(shù)
$0 是腳本本身的名字
$1 是傳遞給該shell腳本的第一個(gè)參數(shù)
$2 是傳遞給該shell腳本的第二個(gè)參數(shù)
$@ 是傳給腳本的所有參數(shù)的列表
$* 是以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù),與位置變量不同,參數(shù)可超過(guò)9個(gè)
$$ 是腳本運(yùn)行的當(dāng)前進(jìn)程ID號(hào)
$? 是顯示最后命令的退出狀態(tài),0表示沒(méi)有錯(cuò)誤,其他表示有錯(cuò)誤
區(qū)別:$@, $*
相同點(diǎn):都是引用所有參數(shù)
不同點(diǎn):$* 和 $@ 都表示傳遞給函數(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ù)。
$*和$@詳細(xì)區(qū)別請(qǐng)看此處
#!/bin/bash echo "-----------------" for key in "$@" do echo '$@' $key done echo "-----------------------------" for key2 in $* do echo '$*' $key2 done
1、帶引號(hào)執(zhí)行及結(jié)果:
[root@localhost ~]# bash file.sh linux "python c" ----------------- $@ linux $@ python c ----------------------------- $* linux $* python $* c
2、不帶引號(hào)執(zhí)行及結(jié)果:
[root@localhost ~]# bash file.sh linux python c ----------------- $@ linux $@ python $@ c ----------------------------- $* linux $* python $* c
感謝各位的閱讀!關(guān)于“Linux Shell怎么獲取參數(shù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!