Calvin's Tech Space

          成于堅(jiān)忍,毀于浮躁

             :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
          比較兩個(gè)字符串是否相等的辦法是: 
          if [ "$test"x = "test"x ]; then
          這里的關(guān)鍵有幾點(diǎn):
          1 使用單個(gè)等號(hào),也可以使用兩個(gè)等號(hào)
          2 注意到等號(hào)兩邊各有一個(gè)空格:這是unix shell的要求
          3 注意到"$test"x最后的x,這是特意安排的,因?yàn)楫?dāng)$test為空的時(shí)候,上面的表達(dá)式就變成了x = testx,顯然是不相等的。而如果沒(méi)有這個(gè)x,表達(dá)式就會(huì)報(bào)錯(cuò):[: =: unary operator expected

          以上在android shell下不能運(yùn)行,android shell不認(rèn)識(shí)。
          posted on 2011-04-13 18:04 calvin 閱讀(650) 評(píng)論(1)  編輯  收藏 所屬分類: Linux

          Feedback

          # re: shell字符串比較 2012-09-13 21:24 rrt
          [ccripts]$ unset test


          [scripts]$ if [ $test = '111' ] ; then echo 1 ;fi
          -bash: [: =: unary operator expected


          [scripts]$ if [ "$test" = '111' ] ; then echo 1 ;fi
          [chaolm@rrt-dev-centos6_2 scripts]$

          加了引號(hào)就相當(dāng)于 "" = '1111',是可以比較的  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 镇宁| 普宁市| 静乐县| 天津市| 土默特左旗| 鞍山市| 渝北区| 鱼台县| 永善县| 安康市| 孟连| 凌云县| 澳门| 永丰县| 册亨县| 那曲县| 徐水县| 古浪县| 天峨县| 岢岚县| 巧家县| 上饶市| 澄江县| 盱眙县| 自贡市| 松溪县| 彭阳县| 咸丰县| 琼结县| 明溪县| 雷州市| 杭州市| 淮阳县| 营山县| 昌都县| 永仁县| 万宁市| 平昌县| 巩义市| 丹阳市| 阿尔山市|