共計 2687 個字符,預計需要花費 7 分鐘才能閱讀完成。
這篇文章給大家分享的是有關 Shell 中運算符有哪些的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
算數運算符運算符說明舉例 + 加法 `expr $a + $b` - 減法 `expr $a – $b` * 乘法 `expr $a \* $b` / 除法 `expr $b / $a` % 取余 `expr $b % $a` = 賦值 a =$b 將把變量 b 的值賦給 a。== 相等。用于比較兩個數字,相同則返回 true。[$a == $b] 返回 false。!= 不相等。用于比較兩個數字,不相同則返回 true。[$a != $b] 返回 true
示例:
#!/bin/bash
#author:zrc
val=`expr ${a} + ${b}`
echo a + b : ${val}
val=`expr ${a} - ${b}`
echo a - b : ${val}
val=`expr ${a} \* ${b}`
echo a * b : ${val}
val=`expr ${a} / ${b}`
echo a / b : ${val}
#注意空格使用
if [ $a == $b ];then
echo a = b
if [ $a != $b ];then
echo a != b
fi
關系運算符
關系運算符不支持字符串(字符串見后面),只支持數字 例:a=5 b=10
運算符說明舉例 -eq 檢測兩個數是否相等,相等返回 true。[$a -eq $b] 返回 false。-ne 檢測兩個數是否不相等,不相等返回 true。[$a -ne $b] 返回 true。-gt 檢測左邊的數是否大于右邊的,如果是,則返回 true。[$a -gt $b] 返回 false。-lt 檢測左邊的數是否小于右邊的,如果是,則返回 true。[$a -lt $b] 返回 true。-ge 檢測左邊的數是否大于等于右邊的,如果是,則返回 true。[$a -ge $b] 返回 false。-le 檢測左邊的數是否小于等于右邊的,如果是,則返回 true。[$a -le $b] 返回 true。
示例:
#!/bin/bash
#author:zrc
if [ $a -eq $b ];then
echo $a -eq $b : a 等于 b
else
echo $a -eq $b : a 不等于 b
if [ $a -ne $b ];then
echo $a -ne $b : a 不等于 b
else
echo $a -ne $b : a 等于 b
fi
布爾運算符
例:a=5 b=10
運算符說明舉例! 非運算,表達式為 true 則返回 false,否則返回 true。[! false] 返回 true。- o 或運算,有一個表達式為 true 則返回 true。[$a -lt 20 -o $b -gt 100] 返回 true。- a 與運算,兩個表達式都為 true 才返回 true。[$a -lt 20 -a $b -gt 100] 返回 false。邏輯運算符
注意使用邏輯運算符需要多重使用 [] 符號 例:a=5 b=10
true and flase 返回 false
true and false 返回 true
運算符說明舉例 邏輯的 AND[[$a -lt 100 $b -gt 100]] 返回 false|| 邏輯的 OR[[$a -lt 100 || $b -gt 100]] 返回 true 字符串運算符
下表列出了常用的字符串運算符,假定變量 a 為 aaa,變量 b 為 bbb:
運算符說明舉例 = 檢測兩個字符串是否相等,相等返回 true。[$a = $b] 返回 false。!= 檢測兩個字符串是否相等,不相等返回 true。[$a != $b] 返回 true。- z 檢測字符串長度是否為 0,為 0 返回 true。[-z $a] 返回 false。- n 檢測字符串長度是否為 0,不為 0 返回 true。[-n $a] 返回 true。$ 檢測字符串是否為空,不為空返回 true。[$a] 返回 true。
示例:
#!/bin/bash
#author:zrc
a= aaa
b= bbb
if [ $a = $b ];then
echo $a = $b : a 等于 b
else
echo $a = $b : a 不等于 b
if [ $a != $b ];then
echo $a != $b : a 不等于 b
else
echo $a != $b : a 等于 b
if [ -z $b ];then
echo -z $b : 字符長度為 0
else
echo -z $b : 字符長度為 ${#b}
if [ -n $b ];then
echo -z $b : 字符長度不為 0
else
echo -z $b : 字符長度為 ${#b}
if [ $b ];then
echo $b : 字符串不為空
else
echo $b : 字符串為空
fi
文件運算符操作符說明舉例 -b file 檢測文件是否是塊設備文件,如果是,則返回 true。[-b $file] 返回 false。-c file 檢測文件是否是字符設備文件,如果是,則返回 true。[-c $file] 返回 false。-d file 檢測文件是否是目錄,如果是,則返回 true。[-d $file] 返回 false。-f file 檢測文件是否是普通文件(既不是目錄,也不是設備文件),如果是,則返回 true。[-f $file] 返回 true。-g file 檢測文件是否設置了 SGID 位,如果是,則返回 true。[-g $file] 返回 false。-k file 檢測文件是否設置了粘著位(Sticky Bit),如果是,則返回 true。[-k $file] 返回 false。-p file 檢測文件是否是有名管道,如果是,則返回 true。[-p $file] 返回 false。-u file 檢測文件是否設置了 SUID 位,如果是,則返回 true。[-u $file] 返回 false。-r file 檢測文件是否可讀,如果是,則返回 true。[-r $file] 返回 true。-w file 檢測文件是否可寫,如果是,則返回 true。[-w $file] 返回 true。-x file 檢測文件是否可執行,如果是,則返回 true。[-x $file] 返回 true。-s file 檢測文件是否為空(文件大小是否大于 0),不為空返回 true。[-s $file] 返回 true。-e file 檢測文件(包括目錄)是否存在,如果是,則返回 true。[-e $file] 返回 true。
感謝各位的閱讀!關于“Shell 中運算符有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!