Shell 學習筆記之運算子

2022-01-23 04:28:34 字數 1547 閱讀 1660

val =expr 2 + 2

需要注意的是

關係運算子只支援數字,不支援字串,除非字串的值都是數字

header 運算子

header 說明

-eqequal,檢測兩個數是否相等,相等返回true

-nenot equal,檢測兩個數是否不相等,不想等則返回true

-gtgreat then,檢測左邊的數是否大於右邊的數,如果是則返回true

-ltless then,檢測左邊的數是否小於右邊的數,如果是則返回true

-gegreat equal,檢測左邊的數是否大於等於右邊的數,如果是則返回true

-leless equal,檢測左邊的數是否小於等於右邊的數,如果是則返回true

注意的是:

header 運算子

header 說明

!非運算子

-o或運算

-a與運算

例子:if [ $a -lt 5 -o $b -gt 100 ]

header 運算子

header 說明

&&邏輯的and

例子:

if [[ $a -lt 100 || $b -gt 100 ]]

then

echo "返回 true"

else

echo "返回 false"

fi

注意的是:

header 運算子

header 說明

=檢測兩個字串是否相等,相等的話則返回true

!=檢測兩個字串是否不相等,不相等則返回true

-zzero,檢測字串是否為0,為0則返回true

-nnot zero,檢測字串是否不為0,不為0則返回true

str檢測字串是否為空,不為空則返回true

只選了部分比較常用的檔案測試運算子

header 運算子

header 說明

-d file

檢測檔案是否是目錄,如果是,則返回 true

-r file

read,檢測檔案是否可讀,如果是,則返回 true

-w file

write,檢測檔案是否可寫,如果是,則返回 true

-x file

excute,檢測檔案是否可執行,如果是,則返回 true

-s file

檢測檔案是否為空(檔案大小是否大於0),不為空返回 true

-e file

檢測檔案(包括目錄)是否存在,如果是,則返回 true

例子:

file="/var/www/runoob/test.sh"

if [ -r $file ]

then

echo "檔案可讀"

else

echo "檔案不可讀"

fi

Shell筆記(運算子 關係運算子 布林運算子)

運算 語法 運 算式 表示式 表示式 表示式 expr a b 加 expr a b 減 expr a b 乘 expr a b 除 expr a b 求餘 a b 將b的值賦給a a b 判斷a是否等於b,返回結果為布林值 a b 判斷a是否不等於b,返回結果為布林值 注意 shell的字元型數值...

shell運算子操作 算術運算子

a 10 b 20 echo a b expr echo a b expr echo a b expr echo a b expr echo a b expr if a b then echo a等於b else echo a不等於b fiif a b then echo a不等於b else ec...

Linux 之 shell 比較運算子

運算子描述 示例檔案比較運算子 e filename 如果 filename 存在,則為真 e var log syslog d filename 如果 filename 為目錄,則為真 d tmp mydir f filename 如果 filename 為常規檔案,則為真 f usr bin g...