• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

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

            echo "OK"

            fi

                在運行時出現(xiàn)了“ [: =: 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

            成人国内精品久久久久影院| 九九精品久久久久久噜噜| 久久精品国产亚洲av麻豆色欲| 久久99国产综合精品| 日本精品久久久久中文字幕| 亚洲精品WWW久久久久久| 久久无码人妻一区二区三区| 久久青青草原精品国产不卡| 精品熟女少妇AV免费久久| 免费国产99久久久香蕉| 国内精品九九久久精品| 亚洲国产成人久久综合碰碰动漫3d| 久久综合色老色| 91精品久久久久久无码| 久久精品中文无码资源站| 亚洲?V乱码久久精品蜜桃 | 久久国产精品无码一区二区三区 | 久久人人爽人人爽人人片av高请| 国产国产成人久久精品| 久久久久成人精品无码中文字幕| 香蕉久久久久久狠狠色| 国产呻吟久久久久久久92| 久久噜噜电影你懂的| 久久久无码人妻精品无码| 久久久www免费人成精品| 久久久久国产| 久久久久无码中| 中文字幕成人精品久久不卡| 精品久久8x国产免费观看| 无码人妻少妇久久中文字幕蜜桃 | 99久久亚洲综合精品网站| 国产精品久久国产精麻豆99网站| 精品久久久无码人妻中文字幕| 欧美成人免费观看久久| 要久久爱在线免费观看| 久久亚洲精品国产亚洲老地址| 午夜精品久久久内射近拍高清| 亚洲va久久久久| 亚洲精品无码久久久久| 久久久国产精品亚洲一区| 91精品国产综合久久久久久|