• <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>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

              在匹配字符串相等時,我用了類似這樣的語句:

            if [ $STATUS == "OK" ]; then     

            echo "OK"

            fi

                在運行時出現了“ [: =: unary operator expected” 的錯誤,就一直找不到原因,嘗試了刪除等號兩側的空格和括號里的空格都不管用。最后baidu了一下,才找到原因,在條件表達式外再添加一層“[]”,就不會出錯了,如下:

            if [[ $STATUS = "OK" ]]; then    

            echo "OK"

            fi 

                究其原因,是因為如果變量STATUS值為空,那么條件表達式就成了 [ = "OK"] ,顯然 [ 和 "OK" 不相等并且缺少了 [ 符號,所以報了這樣的錯誤。當然不總是出錯,如果變量STATUS值不為空,程序就正常了,所以這樣的錯誤還是很隱蔽的。

                或者,用下面的方法也能避免這種錯誤:

            if [ "$STATUS"x == "OK"x ]; then     

            echo

            "OK"

            fi。

            當然,x也可以是其他字符。順便提一點,shell中有沒有雙引號在很多情況下是一致的。

             

            轉自:http://hi.baidu.com/vishare/blog/item/bd8ab9ee289753252cf53417.html

            婷婷久久综合九色综合绿巨人| 国产亚洲精午夜久久久久久| 97精品依人久久久大香线蕉97| 偷窥少妇久久久久久久久| 国产精品乱码久久久久久软件| 99精品久久精品一区二区| 99久久精品国内| 一本色道久久88综合日韩精品 | 99久久香蕉国产线看观香| 久久久久亚洲av无码专区| 久久黄视频| 2021久久国自产拍精品| 色婷婷噜噜久久国产精品12p | 久久亚洲精品国产精品婷婷| 精品熟女少妇av免费久久| 亚洲国产综合久久天堂| 久久九九全国免费| 亚洲香蕉网久久综合影视| 国产精品一区二区久久精品无码| 久久综合综合久久综合| 亚洲国产成人乱码精品女人久久久不卡| 久久久久国产精品熟女影院| 国产精品成人久久久| 久久无码AV中文出轨人妻| 久久精品国产91久久麻豆自制| 精品一二三区久久aaa片| 久久久久久无码国产精品中文字幕 | 欧美一级久久久久久久大| 久久99国产精品久久久| 97久久超碰国产精品旧版| 一本一本久久a久久综合精品蜜桃| 久久国产精品免费一区| 国内精品久久久久久不卡影院| 91精品久久久久久无码| 久久综合久久综合久久| 久久精品这里热有精品| 久久夜色tv网站| 9191精品国产免费久久| 国产精品久久久天天影视香蕉 | 99久久成人18免费网站| 精品水蜜桃久久久久久久|