#!/bin/bash
a=10
b=20
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 $b / $a`
echo "b / a : $val"
val=`expr $b % $a`
echo "b % a : $val"
if [ $a == $b ]
then
echo "a == b"
fiif [ $a != $b ]
then
echo "a != b"
fi執行
$bash test.sh
a + b : 30
a - b : -10
a * b : 200
b / a : 2
b % a : 0
a != b
原生bash不支援簡單的數**算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。
expr 是一款表示式計算工具,使用它能完成表示式的求值操作。
注意使用的反引號(esc鍵下邊)
表示式和運算子之間要有空格$a + $b寫成$a+$b不行
條件表示式要放在方括號之間,並且要有空格[ $a == $b ]寫成[$a==$b]不行
乘號(*)前邊必須加反斜槓(\)才能實現乘法運算
關係運算子
關係運算子只支援數字,不支援字串,除非字串的值是數字
#!/bin/bash
a=10
b=20
if [ $a -eq $b ]
then
echo "$a-eq$b: a == b"
else
echo "$a-eq$b: a != b"
fia=10
b=20
if [[ $a -lt 100 && $b -gt 100 ]]
then
echo "return true"
else
echo "return false"
fiif [[ $a -lt 100 || $b -gt 100 ]]
then
echo "return true"
else
echo "return false"
fi字串運算子
檔案測試運算子
linux指令碼運算子
表示式相應說明 整數測試 int1 eq int2 相等?int1 ne int2 不等?int1 gt int2 int1 int2 int1 ge int2 int1 int2 int1 lt int2 int1 int2 int1 le int2 int1 int2 字元測試 str1 str...
linux 比較運算子
網路上能找到的相關資料太多了,也太繁雜,但有些人還整理得不錯,下面根據自己的偏好再梳理一下,有些是自己對照著man手冊翻譯的,下面的例子都是自己編造自己測試ok,都是比較實用的東西,方便自己日後參考。1 算術運算比較運算子 bash自身不能比較浮點數 eq 等於 num1 eq num2 ne 不等...
檔案運算子 linux
size medium 檔案運算子 d filename 如果filename 為目錄,則返回真。f filename 如果filename 為普通的檔案,則返回真。r filename 如果filename 可讀,則返回真。s filename 如果filename 的長度大於零,則返回真。w f...