亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

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

    當(dāng)初自己在學(xué)習(xí)shell編程的時(shí)候,被各種括號的用法搞得頭昏腦漲??恐鸩降氖煜ず头e累,才終于掌握的所有的括號的用法。現(xiàn)在,把自己總結(jié)出來的分享給大家。

    注:看本篇文檔的前提是你已經(jīng)有了bash以及shell編程的基礎(chǔ)。

    單小括號()

    但小括號常見的兩個(gè)作用:命令替換以及數(shù)組的初始化

    命令替換

    當(dāng)碰到$()結(jié)構(gòu)時(shí),shell就把括號的內(nèi)命令執(zhí)行,并返回結(jié)果

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

    初始化數(shù)組

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

    雙小括號(())

    記住雙括號有一個(gè)特點(diǎn),就是括號內(nèi)的要符合c語言的語法,使用變量名時(shí)不需要加上$符號的。

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

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

    只要符合c語言語法的運(yùn)算擴(kuò)展,都可以寫在括號里

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

    重新給變量賦值,這個(gè)時(shí)候不可在括號外加$符

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

    雙括號還經(jīng)常用在for循環(huán)中

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

    單方括號[]

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

    shell腳本中用于條件判斷:

    if [ 1 > 2 ] then     …… fi

    也可以作為數(shù)組下標(biāo):

    # echo ${lnmp[1]} nginx

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

    [0-9]  表示數(shù)子0-9都行

    雙方括號

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

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

    單花括號{}

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

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

    單花括號中..的作用

    兩個(gè)點(diǎn)在這里表示一段范圍的意思。比如

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

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

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

    val=${n1:-test}

    上面代碼表示如果n1這個(gè)變量不存在或?yàn)榭?,則將val變量值設(shè)置為test,否則val值為n1變量的值

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號