bash編程運算與判斷



-------------------------------------------------------------------------------------------socket

運算ide


邏輯運算
    布爾運算:真,假
    與,或,非,異或
    && 與
    || 或
    !
    

比較運算符
    >
    <
    ==
    !=
    >=
    <=
    
命令執行成功與否的條件測試
    test

整型比較
-eq 等於
-gt 大於
-lt 小於
-ge 大於等於
-le 小於等於
-ne 不等於

字符串測試,在對字符串或變量作比較時,最好把變量或字符串都用雙引號引發來。
    雙目操做符
    >
    <
    >=
    <=
    ==
    !=
    file1 -nt file2 文件file1的mtime新於file2則爲真,不然爲假
    file1 -ot file2 文件file1的mtime老於file2則爲真,不然爲假
    單目操做符
    -n ‘string’ 測試字符串是否爲空,不空爲真,空爲假
        -n "wukui"
    -z ‘string’ 測試字符串是否爲空,空爲真,不空爲假。
    -a filename 存在則爲真,否在爲假
    -e filename    與-a同樣
    -f filename 文件存在而且是一個普通文件,則爲真
    -d filename 文件存在而且是一個目錄,則爲真
    -h filename 文件存在而且爲一個連接文件則爲真
    -L filename    與-h同樣
    -b filename 文件存在,而且是一個塊設備
    -c filename 文件存在,而且是字符設備
    -S 文件存在而且是一個socket文件
    -p 文件存在,而且是管道文件
    -s filename 文件存在而且非空
    -r 文件有讀取的權限
    -w    文件有寫的權限
    -x    文件有執行的權限
    -N  文件被修改過,而且沒人看過。文件的mtime比atime新


    
    組合條件,在多個條件間實現邏輯運算
        與 [ 條件1 -a 條件2 ]
            條件1 && 條件2 這時就不須要中括號了
        或 [ 條件1 -o 條件2 ]
            條件1 || 條件2
        非 [ -not 條件 ]
            ! 條件
------------------------------------------------------------------------------------------ 判斷測試

if 三種使用格式
    
    單分支的
    
        if 測試條件;thenn
            選擇分支
        fi
            
        if ! 測試條件;thenn 歎號表示取反
            選擇分支
        fi
    條件狀態返回值爲真則執行分支。
    
    雙分支的if語句
        
        if 測試條件;then
            選擇分支1
        else
            選擇分支2
        fi
    
    兩個分支只支執行一個
    
    多分支的
    
        if 測試條件;thenn
            選擇分支
        elif 條件2 ;then
            分支2
        elif 條件3 ;then
            分支3
        else
            分支n
        fi
    
    
    case語句,有多個測試條件時,case比if寫法更簡便。
    PATTERN:
        a|b:a或者b
        *:匹配任意長度的字符
        ?:匹配任意單個字符
        []:用來取範圍
        
    
    case i in
    1)
        echo $i
        ;;
    2)
        echo $i
        ;;
    *)
        echo "haha"
    caseui

相關文章
相關標籤/搜索