隨筆-314  評論-209  文章-0  trackbacks-0

          二元比較操作符,比較變量或者比較數字.注意數字與字符串的區別.
           
          整數比較
           
          -eq        等于,如:if [ "$a" -eq "$b" ]
          -ne        不等于,如:if [ "$a" -ne "$b" ]
          -gt        大于,如:if [ "$a" -gt "$b" ]
          -ge        大于等于,如:if [ "$a" -ge "$b" ]
          -lt        小于,如:if [ "$a" -lt "$b" ]
          -le        小于等于,如:if [ "$a" -le "$b" ]
          <        小于(需要雙括號),如:(("$a" < "$b"))
          <=        小于等于(需要雙括號),如:(("$a" <= "$b"))
          >        大于(需要雙括號),如:(("$a" > "$b"))
          >=        大于等于(需要雙括號),如:(("$a" >= "$b"))
           
          字符串比較
          =        等于,如:if [ "$a" = "$b" ]
          ==        等于,如:if [ "$a" == "$b" ],與=等價
                  注意:==的功能在[[]]和[]中的行為是不同的,如下:
                  1 [[ $a == z* ]]    # 如果$a以"z"開頭(模式匹配)那么將為true
                  2 [[ $a == "z*" ]]  # 如果$a等于z*(字符匹配),那么結果為true
                  3 
                  4 [ $a == z* ]      # File globbing 和word splitting將會發生
                  5 [ "$a" == "z*" ]  # 如果$a等于z*(字符匹配),那么結果為true
                  一點解釋,關于File globbing是一種關于文件的速記法,比如"*.c"就是,再如~也是.
                  但是file globbing并不是嚴格的正則表達式,雖然絕大多數情況下結構比較像.
          !=        不等于,如:if [ "$a" != "$b" ]
                  這個操作符將在[[]]結構中使用模式匹配.
          <        小于,在ASCII字母順序下.如:
                  if [[ "$a" < "$b" ]]
                  if [ "$a" \< "$b" ]
                  注意:在[]結構中"<"需要被轉義.
          >        大于,在ASCII字母順序下.如:
                  if [[ "$a" > "$b" ]]
                  if [ "$a" \> "$b" ]
                  注意:在[]結構中">"需要被轉義.
                  具體參考Example 26-11來查看這個操作符應用的例子.
          -z        字符串為"null".就是長度為0.
          -n        字符串不為"null"
                  注意:
                  使用-n在[]結構中測試必須要用""把變量引起來.使用一個未被""的字符串來使用! -z
                  或者就是未用""引用的字符串本身,放到[]結構中。雖然一般情況下可
                  以工作,但這是不安全的.習慣于使用""來測試字符串是一種好習慣.

          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zhrmghl/archive/2006/10/22/1345115.aspx

          posted on 2010-04-02 14:17 xzc 閱讀(1193) 評論(0)  編輯  收藏 所屬分類: linux/unix
          主站蜘蛛池模板: 平潭县| 承德市| 栖霞市| 江安县| 商都县| 建平县| 陆川县| 武穴市| 三明市| 囊谦县| 同德县| 揭阳市| 公主岭市| 扶余县| 乡城县| 聊城市| 松桃| 津市市| 中超| 杨浦区| 马龙县| 莫力| 深州市| 武义县| 沙坪坝区| 克东县| 东至县| 连城县| 万源市| 营山县| 屯昌县| 平塘县| 融水| 黔西县| 钦州市| 连江县| 阿尔山市| 正宁县| 广宁县| 临清市| 河北区|