shell運(yùn)算符

1.基本運(yùn)算

+ : 加
- : 減
* : 乘
/ : 除
% : 取余
基本語(yǔ)法:
(1)“$((運(yùn)算式))”或“$[運(yùn)算式]”

[root@localhost shelldata]# echo $((1+3))
4

[root@localhost shelldata]# echo $[3*7]
21

(2)expr 運(yùn)算式

[root@localhost shelldata]# expr 1+4
1+4

[root@localhost shelldata]# expr 1 + 4
5

[root@localhost shelldata]# expr 3 /* 4
expr: 語(yǔ)法錯(cuò)誤

[root@localhost shelldata]# expr 3 \* 4
12

[root@localhost shelldata]# expr `expr  2 + 3 ` \* 4
20

  • expr后面表達(dá)式數(shù)字和運(yùn)算符之間必須空格隔開
  • expr后面表達(dá)式乘號(hào)(*)前邊必須加反斜杠(\)才能實(shí)現(xiàn)乘法運(yùn)算;
2.關(guān)系運(yùn)算符
  • 關(guān)系運(yùn)算符只支持?jǐn)?shù)字,不支持字符串,除非字符串的值是數(shù)字
  • 下表列出了常用的關(guān)系運(yùn)算符,假定變量 a 為 10,變量 b 為 20:
運(yùn)算符 說(shuō)明 舉例 備注
-eq 檢測(cè)兩個(gè)數(shù)是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。 equal
-ne 檢測(cè)兩個(gè)數(shù)是否不相等,不相等返回 true。 [ $a -ne $b ] 返回 true。 not equal
-gt 檢測(cè)左邊的數(shù)是否大于右邊的,如果是,則返回 true。 [ $a -gt $b ] 返回 false。 greater than
-lt 檢測(cè)左邊的數(shù)是否小于右邊的,如果是,則返回 true。 [ $a -lt $b ] 返回 true。 less than
-ge 檢測(cè)左邊的數(shù)是否大于等于右邊的,如果是,則返回 true。 [ $a -ge $b ] 返回 false。 great than or equal
-le 檢測(cè)左邊的數(shù)是否小于等于右邊的,如果是,則返回 true。 [ $a -le $b ] 返回 true。 less than or equal
3.布爾運(yùn)算符

下表列出了常用的布爾運(yùn)算符,假定變量 a 為 10,變量 b 為 20:

運(yùn)算符 說(shuō)明 舉例
! 非運(yùn)算,表達(dá)式為 true 則返回 false,否則返回 true。 [ ! false ] 返回 true。
-o 或運(yùn)算,有一個(gè)表達(dá)式為 true 則返回 true。 [ $a -lt 20 -o $b -gt 100 ] 返回 true。
-a 與運(yùn)算,兩個(gè)表達(dá)式都為 true 才返回 true。 [ $a -lt 20 -a $b -gt 100 ] 返回 false。
4.邏輯運(yùn)算符

以下介紹 Shell 的邏輯運(yùn)算符,假定變量 a 為 10,變量 b 為 20:

運(yùn)算符 說(shuō)明 舉例
&& 邏輯的 AND [[ $a -lt 100 && $b -gt 100 ]] 返回 false
|| 邏輯的 OR [[ $a -lt 100 || $b -gt 100 ]] 返回 true
5.字符串運(yùn)算符

下表列出了常用的字符串運(yùn)算符,假定變量 a 為 "abc",變量 b 為 "efg":

運(yùn)算符 說(shuō)明 舉例
= 檢測(cè)兩個(gè)字符串是否相等,相等返回 true。 [ $a = $b ] 返回 false。
!= 檢測(cè)兩個(gè)字符串是否相等,不相等返回 true。 [$a != $b ] 返回 true。
-z 檢測(cè)字符串長(zhǎng)度是否為0,為0返回 true。 [ -z $a ] 返回 false。
-n 檢測(cè)字符串長(zhǎng)度是否為0,不為0返回 true。 [ -n "$a" ] 返回 true。
$ 檢測(cè)字符串是否為空,不為空返回 true。 [ $a ] 返回 true。
6.文件測(cè)試運(yùn)算符

文件測(cè)試運(yùn)算符用于檢測(cè) Unix 文件的各種屬性。
屬性檢測(cè)描述如下:

操作符 說(shuō)明 舉例
-d file 檢測(cè)文件是否是目錄,如果是,則返回 true。 [ -d $file ] 返回 false。
-f file 檢測(cè)文件是否是普通文件(既不是目錄,也不是設(shè)備文件),如果是,則返回 true。 [ -f $file ] 返回 true。
-r file 檢測(cè)文件是否可讀,如果是,則返回 true。 [ -r $file ] 返回 true。
-w file 檢測(cè)文件是否可寫,如果是,則返回 true。 [ -w $file ] 返回 true。
-x file 檢測(cè)文件是否可執(zhí)行,如果是,則返回 true。 [ -x $file ] 返回 true。
-s file 檢測(cè)文件是否為空(文件大小是否大于0),不為空返回 true。 [ -s $file ] 返回 true。
-e file 檢測(cè)文件(包括目錄)是否存在,如果是,則返回 true。 [ -e $file ] 返回 true。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Shell 基本運(yùn)算符 Shell 支持的運(yùn)算符包括算數(shù)運(yùn)算符關(guān)系運(yùn)算符布爾運(yùn)算符字符串運(yùn)算符文件測(cè)試運(yùn)算符 算數(shù)...
    CircusJonathan閱讀 527評(píng)論 0 0
  • Shell 和其他編程語(yǔ)言一樣,支持多種運(yùn)算符,包括: 算數(shù)運(yùn)算符 關(guān)系運(yùn)算符 布爾運(yùn)算符 字符串運(yùn)算符 文件測(cè)試...
    孤月環(huán)舟閱讀 342評(píng)論 0 0
  • shell支持多種運(yùn)算符 算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 字符串運(yùn)算符 文件測(cè)試運(yùn)算符 1.算術(shù)運(yùn)算符 原生b...
    螞蟻牙齒不黑閱讀 279評(píng)論 0 0
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,333評(píng)論 0 10
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,712評(píng)論 0 5

友情鏈接更多精彩內(nèi)容