溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell運(yùn)算符

發(fā)布時(shí)間:2020-06-12 11:50:57 來源:網(wǎng)絡(luò) 閱讀:281 作者:poseidon2011 欄目:開發(fā)技術(shù)

shell運(yùn)算符主要有:比較運(yùn)算符(用于整數(shù)比較)、字符串運(yùn)算符(用于字符串測(cè)試)、文件操作運(yùn)算符(用于文件測(cè)試)、算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、自增自減運(yùn)算符等。


測(cè)試結(jié)構(gòu):

方法一: test expression

方法二:[ expression ] (注意:中括號(hào)左右的空格)

一、整數(shù)比較

整數(shù)測(cè)試符:

    -eq    等于

    -gt    大于

    -lt    小于

    -ge    大于等于

    -le    小于等于

    -ne    不等于

二、字符串測(cè)試

字符串測(cè)試符:

    -z "string"    為空返回真,否則為假

    -n "string"    非空返回真,否則為假

    "string1" = "string2"    相同返回真,否則為假

    "string1" != "string2"    不相同返回真,否則為假     

    "string1" > "string2"    按字典排序,string1在string2之前,返回真,否則為假

    "string1" < "string2"    按字典排序,string1在string2之后,返回真,否則為假

    注意:[ "str1" \> "str2 ]  (需要進(jìn)行轉(zhuǎn)義)

       [[ "str1" \> "str2 ]] (不需要進(jìn)行轉(zhuǎn)義)

三、文件測(cè)試

文件測(cè)試符:

    -b FILE    塊文件返回真

    -c FILE    字符設(shè)備文件返回真

    -d FILE    目錄文件返回真

    -e FILE    存在返回真

    -f FILE    普通文件返回真

    -x FILE    可執(zhí)行文件返回真

    -w FILE    可寫返回真

    -r FILE    可讀返回真

    -l FILE    鏈接文件返回真

    -p FILE    管道文件返回真

    -s FILE    文件大小不為0返回真

    -S FILE    socket文件返回真

    -g FILE    文件設(shè)置了SGID時(shí)返回真

    -u FILE    文件設(shè)置了SUID時(shí)返回真

    -k FILE    文件設(shè)置了sticky屬性時(shí)返回真

    -G FILE    文件屬于有效的用戶組時(shí)返回真

    -O FILE    文件屬于有效的用戶時(shí)返回真

    FILE1 -nt FILE2    FILE1比FILE2新時(shí)返回真

    FILE1 -ot FILE2    FILE1比FILE2舊時(shí)返回真

四、算術(shù)運(yùn)算符(結(jié)合shell內(nèi)建命令let使用)

  1. 常規(guī)算術(shù)運(yùn)算符

    +、-、*、/、%、**

  2. 復(fù)合算術(shù)運(yùn)算符

    +=、-=、*=、/=、%=

  3. 其它算數(shù)運(yùn)算符

    1)$[]和$(( ))

    2)expr命令

  4. 高精度計(jì)算(bc命令)

    eg. bc <<< "scale=2;111/222;"

      echo "scale=2;111/222;" | bc

五、邏輯運(yùn)算

邏輯測(cè)試符:

    !expression    邏輯非

    expression1 -a expression2    邏輯與,同時(shí)為真,測(cè)試結(jié)果為真

    expression1 -o expression2    邏輯或,只要有一個(gè)為真,測(cè)試結(jié)果為真

邏輯運(yùn)算符:

    !     邏輯非

    &&    邏輯與

    ||    邏輯或

六、位運(yùn)算

    <<    左移運(yùn)算

    >>    右移運(yùn)算

    &     按位與運(yùn)算

    |     按位或運(yùn)算

    ^     按位異或運(yùn)算

    ~     按位非運(yùn)算

七、自增自減

    ++    自增

    --    自減

    注意:操作對(duì)象只能是變量,不能是常數(shù)或表達(dá)式


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI