• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ++wythern++

            X presents Y for a better Z

            [轉(zhuǎn)]shell中if條件字符串、數(shù)字比對(duì),[[ ]]和[ ]區(qū)別

            原文在此

            學(xué)習(xí)shell的時(shí)候總是被shell里的條件判斷方式搞得頭疼,經(jīng)常不知道改 用[],[[]],(())還是test,let,而很少有書把它們的關(guān)系講解的很清楚(應(yīng)該是我悟性差或是看書太少),今天總結(jié)一下,基礎(chǔ)的東西如它們 的使用方法不再贅述,重點(diǎn)說說它們的區(qū)別的使用時(shí)應(yīng)該注意的地方。

            先說[]和test,兩者是一樣的,在命令行里test expr和[ expr ]的效果相同。test的三個(gè)基本作用是判斷文件、判斷字符串、判斷整數(shù)。支持使用與或非將表達(dá)式連接起來。要注意的有:

            1.test中可用的比較運(yùn)算符只有==和!=,兩者都是用于字符串比較的,不可用于整數(shù)比較,整數(shù)比較只能使用-eq, -gt這種形式。無(wú)論是字符串比較還是整數(shù)比較都千萬(wàn)不要使用大于號(hào)小于號(hào)。當(dāng)然,如果你實(shí)在想用也是可以的,對(duì)于字符串比較可以使用尖括號(hào)的轉(zhuǎn)義形式, 如果比較"ab"和"bc":[ ab \< bc ],結(jié)果為真,也就是返回狀態(tài)為0.

            然后是[[ ]],這是內(nèi)置在shell中的一個(gè)命令,它就比剛才說的test強(qiáng)大的多了。支持字符串的模式匹配(使用=~操作符時(shí)甚至支持shell的正則表達(dá) 式)。簡(jiǎn)直強(qiáng)大的令人發(fā)指!邏輯組合可以不使用test的-a,-o而使用&&,||這樣更親切的形式(針對(duì)c、Java程序員)。當(dāng) 然,也不用想的太復(fù)雜,基本只要記住
            1.字符串比較時(shí)可以把右邊的作為一個(gè)模式(這是右邊的字符串不加雙引號(hào)的情況下。如果右邊的字符串加了雙引號(hào),則認(rèn)為是一個(gè)文本字符串。),而不僅僅是一個(gè)字符串,比如[[ hello == hell? ]],結(jié)果為真。

            另外要注意的是,使用[]和[[]]的時(shí)候不要吝嗇空格,每一項(xiàng)兩邊都要有空格,[[ 1 == 2 ]]的結(jié)果為“假”,但[[ 1==2 ]]的結(jié)果為“真”!后一種顯然是錯(cuò)的


            3.最后就是let和(()),兩者也是一樣的(或者說基本上是一樣的,雙括號(hào)比let稍弱一些)。主要進(jìn)行算術(shù)運(yùn)算(上面的兩個(gè)都不行),也比較適合進(jìn) 行整數(shù)比較,可以直接使用熟悉的<,>等比較運(yùn)算符。可以直接使用變量名如var而不需要$var這樣的形式。支持分號(hào)隔開的多個(gè)表達(dá)式

            posted on 2018-08-14 16:44 wythern 閱讀(274) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久九九精品99国产精品| 久久精品卫校国产小美女| 久久99精品久久久久久动态图 | 91性高湖久久久久| 日本高清无卡码一区二区久久| 精品久久久久久久久免费影院| 97精品国产91久久久久久| 久久综合九色综合欧美就去吻| 18岁日韩内射颜射午夜久久成人| 国产成人精品久久二区二区| 麻豆国内精品久久久久久| 精品久久无码中文字幕| 久久亚洲sm情趣捆绑调教| 久久香蕉国产线看观看99| 久久久www免费人成精品| 久久高清一级毛片| 国内精品久久久久影院免费| 精品国产乱码久久久久久人妻| 国产亚州精品女人久久久久久 | 久久精品无码一区二区WWW| 久久久久久无码国产精品中文字幕| 久久99精品久久久久久久不卡| 亚洲国产一成久久精品国产成人综合 | 国内精品久久久久影院日本| 青青草国产97免久久费观看| 久久综合丝袜日本网| 久久精品国产亚洲av日韩| 亚洲中文久久精品无码| 亚洲婷婷国产精品电影人久久| 91久久精品视频| 久久久久久a亚洲欧洲aⅴ | 四虎国产精品免费久久5151| 久久ZYZ资源站无码中文动漫| 77777亚洲午夜久久多喷| 一本色道久久88—综合亚洲精品| 久久天天躁狠狠躁夜夜avapp| 亚洲国产成人久久综合野外| 18禁黄久久久AAA片| 99久久精品免费看国产一区二区三区| 中文字幕精品久久久久人妻| 狠狠色丁香久久婷婷综合|