這篇文章給大家分享的是有關(guān)Linux Shell怎么獲取參數(shù)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
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ò),可以把它分享出去讓更多的人看到吧!