#!/bin/bash
val=
`expr 2 + 2`
echo
"兩數之和為 : $val"
兩數之和為 : 4
注意:表示式和運算子之間要有空格,例如 2+2 是不對的,必須寫成 2 + 2,這與我們熟悉的大多數程式語言不一樣。完整的表示式要被 空格
包含,注意這個字元不是常用的單引號,在 esc 鍵下邊。
#!/bin/bash
`expr $a + $b`加`
expr $a - $b`減`
expr $a \* $b`乘`
expr $b / $a`除`
expr $b % $a`
取餘a=
$b賦值[$a
==$b
] 判斷是否相等[$a
!=$b
]判斷是否不等
#!/bin/bash
[$a -eq $b
]檢測是否等於
[$a -ne $b
]檢測是否不等
[$a -gt $b
]檢測是否大於
[$a -lt $b
]檢測是否小於
[$a -ge $b
]檢測是否大於等於
[$a -le $b
]檢測是否小於等於
#!/bin/bash[!
false
]非運算
[$a -lt 20 -o $b -gt 100 ]或運算
[$a -lt 20 -a $b -gt 100 ]與運算
#!/bin/bash[[
$a -lt 100 &&
$b -gt 100 ]
]邏輯的 and[[
$a -lt 100 ||
$b -gt 100 ]
]邏輯的 or
#!/bin/bash
假定變數 a 為 "abc",變數 b 為 "efg"[$a
=$b]檢測兩個字串是否相等[$a
!=$b
] 檢測兩個字串是否不等
[ -z $a
]檢測字串長度是否為0
[ -n "$a"
]檢測字串長度是否不為0[$a
]檢測字串是否為空,不為空返回 true
#!/bin/bash
file=
"/var/www/runoob/test.sh"
[ -b $file
] 檢測檔案是否是塊裝置檔案
[ -c $file
]是否是字元裝置檔案
[ -d $file
]是否是目錄
[ -f $file
]是否是普通檔案
[ -g $file
]是否設定了 sgid 位
[ -k $file
]是否設定了粘著位(sticky bit)
[ -p $file
]是否是有名管道
[ -u $file
]是否設定了 suid 位
[ -r $file
]是否可讀
[ -w $file
] 是否可寫
[ -x $file
]是否可執行
[ -s $file
]是否為空(檔案大小是否大於0)
[ -e $file
]檔案(包括目錄)是否存在
shell 指令碼運算子
1 數值 格式 test num1 opr num2 num1 opr num2 opr 取值 相等 eq 不等 ne 大於 gt 小於 lt l是字母l的小寫 小於等於 le 大於等於 ge 2 字串 格式 str1 opr str2 opr str opr取值 相等 不等 空串 z 非空串 n ...
shell指令碼比較運算子總結
e filename 如果 filename存在,則為真 d filename 如果 filename為目錄,則為真 f filename 如果 filename為常規檔案,則為真 l filename 如果 filename為符號鏈結,則為真 r filename 如果 filename可讀,則為...
shell指令碼之關係運算子
shell指令碼關係運算子只支援數字,不支援字串除非字串的值是數字。常用的關係運算子如下列出 1 eq 檢測兩個數是否相等,如相等返回true a eq b return false2 gt 檢測左邊的數是否大於右邊的,如果是,返回true.3 lt 檢測左邊的數是否小於右邊的,如果是,則返回tru...