久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

shell入門第五講

1、位置變量
位置變量指的是腳本(或者函數(shù))后跟的第n個(gè)參數(shù)。我們這里暫時(shí)先討論腳本傳參的用法。
位置變量需要使用到形如 $1、$2、$3、$4、$5、$6。其中$1表示第一個(gè)參數(shù),$2表示第二個(gè)參數(shù),依次往后類推即可,我們來看看使用效果。
1.1、簡單的腳本參數(shù)傳遞
先寫個(gè)簡單的腳本
bash [root@localhost ~]# cat test.sh!/bin/bashecho "第一個(gè)參數(shù):$1" echo "第二個(gè)參數(shù):$2" echo "第三個(gè)參數(shù):$3"
我們寫了這樣的一個(gè)腳本,一共是傳入三個(gè)參數(shù),然后在腳本里面分別引用三個(gè)參數(shù)的值,現(xiàn)在來執(zhí)行一下。
注意先賦予x權(quán)限
bash [root@localhost ~]# ./test.sh 11 22 33 第一個(gè)參數(shù):11 第二個(gè)參數(shù):22 第三個(gè)參數(shù):33
我們使用 ./ 執(zhí)行的時(shí)候,分別在腳本后面?zhèn)魅?1、22、33這三個(gè)數(shù)值,然后在腳本內(nèi)部我們已經(jīng)提前定義好了引用變量,那么在執(zhí)行的時(shí)候就可以把三個(gè)參數(shù)的值打印出來。
1.2、位置變量控制
使用shift關(guān)鍵字可以實(shí)現(xiàn)對位置變量的控制,比如我們寫個(gè)腳本
bash [root@localhost ~]# cat test.sh!/bin/bashecho "第一個(gè)參數(shù):$1" shift echo "第二個(gè)參數(shù):$2" echo "第三個(gè)參數(shù):$3"
現(xiàn)在來執(zhí)行一下,這次我們傳入四個(gè)參數(shù)
bash [root@localhost ~]# ./test.sh 11 22 33 44 第一個(gè)參數(shù):11 第二個(gè)參數(shù):33 第三個(gè)參數(shù):44
喔?我們發(fā)現(xiàn)打印的結(jié)果中,第二個(gè)參數(shù)居然是33,然而我們傳參的時(shí)候的22這個(gè)參數(shù)并沒有引用到,這就是shift的作用,每執(zhí)行依次shift命令,位置變量個(gè)數(shù)就會減一,而變量值則提前一位。
當(dāng)然也可以設(shè)置移動n位,我們不必寫上n個(gè)shift命令,而直接使用shift n即可,比如:
bash [root@localhost ~]# cat test.sh!/bin/bashshift 3 echo "第一個(gè)參數(shù):$1" echo "第二個(gè)參數(shù):$2" echo "第三個(gè)參數(shù):$3"
再來執(zhí)行一下
bash [root@localhost ~]# ./test.sh 11 22 33 44 55 66 第一個(gè)參數(shù):44 第二個(gè)參數(shù):55 第三個(gè)參數(shù):66
使用shift n,那么位置變量向前移動n位,因此我們的結(jié)果是從第四個(gè)參數(shù)開始引用的,大家都學(xué)會了嘛?
1.3、注意事項(xiàng)
當(dāng)然小伙伴可能會問 $0 表示什么呢?我們來執(zhí)行一下看看,還是先寫個(gè)腳本
bash [root@localhost ~]# cat test.sh!/bin/bashecho "第0個(gè)參數(shù):$0" echo "第一個(gè)參數(shù):$1" echo "第二個(gè)參數(shù):$2" echo "第三個(gè)參數(shù):$3"
執(zhí)行一下看看
bash [root@localhost ~]# ./test.sh 11 22 33 第0個(gè)參數(shù):./test.sh 第一個(gè)參數(shù):11 第二個(gè)參數(shù):22 第三個(gè)參數(shù):33
或者使用bash執(zhí)行看看
bash 第三個(gè)參數(shù):33 [root@localhost ~]# bash test.sh 11 22 33 第0個(gè)參數(shù):test.sh 第一個(gè)參數(shù):11 第二個(gè)參數(shù):22 第三個(gè)參數(shù):33
發(fā)現(xiàn)他們兩個(gè)共同點(diǎn)就是,$0表示執(zhí)行的文件名本身,我想這里大家應(yīng)該都明白了吧?
還有一個(gè)注意點(diǎn)就是:我們使用$1、$2…像這樣的傳遞的參數(shù)引用時(shí),從第10個(gè)開始我們要加上花括號來調(diào)用,比如:${10}、${11},一定要加上花括號!!!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!

    1. 主站蜘蛛池模板: 建阳市| 周口市| 温州市| 隆尧县| 武邑县| 翁牛特旗| 博兴县| 十堰市| 南通市| 玉屏| 疏勒县| 镇坪县| 揭西县| 涿州市| 连平县| 武强县| 宁国市| 兴安县| 桑日县| 凉城县| 周宁县| 北海市| 呈贡县| 辛集市| 宁河县| 灵寿县| 耿马| 贵阳市| 大余县| 沈阳市| 荣成市| 青浦区| 突泉县| 天气| 永福县| 宁夏| 定兴县| 商丘市| 始兴县| 深圳市| 关岭|