站長資訊網
        最全最豐富的資訊網站

        全面整理linux下shell中各種括號的作用及用法

        當初自己在學習shell編程的時候,被各種括號的用法搞得頭昏腦漲。靠著逐步的熟悉和積累,才終于掌握的所有的括號的用法。現在,把自己總結出來的分享給大家。

        注:看本篇文檔的前提是你已經有了bash以及shell編程的基礎。

        單小括號()

        但小括號常見的兩個作用:命令替換以及數組的初始化

        命令替換

        當碰到$()結構時,shell就把括號的內命令執行,并返回結果

        # tmp=$(date) # echo $tmp Fri Sep 18 10:22:30 CST 2020

        初始化數組

        # 初始化數組 lnmp=(linux nginx mysql php)

        雙小括號(())

        記住雙括號有一個特點,就是括號內的要符合c語言的語法,使用變量名時不需要加上$符號的。

        雙小括號的用法比較多,它可以用作整數計算(不支持小數)。例如:$((3+2))

        # echo $((1+3)) 4 # n1=3 # echo $((n1+7)) 10

        只要符合c語言語法的運算擴展,都可以寫在括號里

        # echo $((3+4>5 ? 1 :0))  1 # echo $((3+4>9 ? 1 :0))  0

        重新給變量賦值,這個時候不可在括號外加$符

        # i=1;((i++));echo $i; 2 # i=1;((i=100));echo $i; 100

        雙括號還經常用在for循環中

        for ((i=0;i<5;i++));do echo -n $i;done

        單方括號[]

        單方括號最常見用于邏輯判斷中,另外它還可以作為數組的下標,以及在正則中表示一段范圍

        shell腳本中用于條件判斷:

        if [ 1 > 2 ] then     …… fi

        也可以作為數組下標:

        # echo ${lnmp[1]} nginx

        在正則中使用,表示一段范圍

        [0-9]  表示數子0-9都行

        雙方括號

        和單括號一樣,雙方括號也用在條件判斷中,但它比單方括號更加的通用。下面舉一個例子:

        [ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ] 改成雙括號 [[ a > b && a > 0 ]]

        單花括號{}

        花括號拓展。(通配(globbing))將對花括號中的文件名做擴展。在大括號中,不允許有空白,除非這個空白被引用或轉義。

        比如輸入命令 rm -f {1,2}.txt將刪除1.txt和2.txt文件。

        單花括號中..的作用

        兩個點在這里表示一段范圍的意思。比如

        echo {1..10}  #將打印1,2,3,4,5,6,7,8,9,10

        花括號還常用在shell腳本里,用于代碼塊。

        初次之外,單花括號還可以用作變量內容的替換和刪除以及變量內容的測試,給出一個常見的例子。我們常常會判斷一個變量是否存在,如果不存在,則給該變量設置新值。

        val=${n1:-test}

        上面代碼表示如果n1這個變量不存在或為空,則將val變量值設置為test,否則val值為n1變量的值

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品无码成人AAA片| 亚洲av午夜精品一区二区三区| 99在线精品免费视频| 亚洲永久精品ww47| 亚洲精品无码日韩国产不卡?V| 精品久久久久久久久中文字幕| 亚洲第一精品福利| 久久久一本精品99久久精品66| 久久精品国产亚洲av瑜伽| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 亚洲国产精品一区二区九九 | 亚洲AV无码成人精品区在线观看| 日韩精品无码一区二区三区不卡| 精品一久久香蕉国产线看播放| 中文字幕精品视频| 精品国产福利尤物免费| 精品久久久久久久久中文字幕| 国产精品丝袜一区二区三区 | 人妻无码精品久久亚瑟影视| 国产亚洲一区二区精品| 国内精品伊人久久久久网站| 青青草国产精品久久| 国产精品涩涩涩视频网站| 在线精品亚洲一区二区三区| 国产精品色视频ⅹxxx | 中文成人无字幕乱码精品区| 国产精品青草久久久久福利99| 国产成人亚洲精品青草天美| 亚洲色精品88色婷婷七月丁香 | 国产精品色视频ⅹxxx | 久久精品国产精品青草| 精品国产精品国产偷麻豆| 手机日韩精品视频在线看网站| 91精品国产91久久久久久青草 | 99久久精品国产免看国产一区| 亚洲国产精品国产自在在线| 欧美日激情日韩精品| 国产精品视频一区二区三区经| 少妇人妻偷人精品视频| 欧美人与动牲交a欧美精品| 国产一区二区精品尤物|