文件
前提條件 a=10,b=20
運算子說明含義+
加法expr $a + $b
結果為30-減法
expr $a - $b
結果為-10*乘法
expr $a \* $b
結果為200/除法
expr $a / $b
結果為2%取餘
expr $a %$b
結果為0=賦值
a=$b 將把變數b的值賦給a
==相等
用於比較兩個數字,相同則返回true [$a == $b] 返回false
!=不相等
用於比較兩個數字,不相同返回true [$a != $b] 返回true
運算子說明
含義-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
關係運算子只支援數字,不支援字串,除非字串的值是數字
運算子說明含義!
非運算,表示式為true則返回false,否則返回true
[ !false ] 返回true
!-o或運算,有乙個表示式為true,則返回true
[ $a -lt 20 -o $b -gt 100 ] 返回true
-a與運算,兩個表示式為true才返回true
[ $a -lt 20 -a $a $b -gt 100 ] 返會false
運算子說明
含義&&
邏輯的and
[[ $a -lt 100 && $b -gt 100]] 返回false
||
邏輯的or
[[ $a -lt 100
運算子說明含義=
檢測兩個字串是否相等,相等返回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
運算子說明
含義-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。
使用$(())
使用$
使用let命令
使用expr外部程式
直接在shell中輸入
r =$(( 4 + 5 ))
echo $r
輸出 9
直接在shell中輸入
n=10
let n=n+1
echo $n
輸出 11
直接在shell中輸入
a=`expr 4 + 5`
echo $a
輸出 9
#!/bin/bash
a=10
b=20
if [$a != $b ]
then
echo "$a != $b : a 不等於 b"
else
echo "$a != $b : a 不等於 b"
fi
輸出
10 != 20 : a 不等於 b
#!/bin/bash
a="abc"
b="efg"
if [ $a = $b ]
then
echo "$a != $b : a 不等於 b"
else
echo "$a != $b : a 不等於 b"
fi
輸出
abc != efg : a 不等於 b
#!/bin/bash
a="abc"
b="efg"
if [ $a = $b ]
then
echo "$a != $b : a 不等於 b"
else
echo "$a != $b : a 不等於 b"
fiif [ -z $a ]
then
echo "-z $a : 字串長度為0"
else
echo "-z $a : 字串長度部位0"
fiif [ $a ]
then
echo "$a : 字串不為空"
else
echo "$a : 字串為空"
fi
輸出
abc != efg : a 不等於 b
-z abc : 字串長度部位0
abc : 字串不為空
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...
shell 如何使用算術運算子
下表列出了常用的算術運算子,假定變數 one 為 1,變數 two 為 2 運算子說明舉例 加法 expr one two 結果為 3。減法 expr one two 結果為 1。乘法 expr one two 結果為 2。除法 expr two one 結果為 2。取餘 expr two one ...
Linux之Shell運算子使用
表示式 或 表示式 或者expr m n expression 表示式 注意expr運算子間要有空格,如果希望將expr的結果賦給某個變數,使用反引號expr m n 4 expr 乘,除,取餘 案例 1 計算 2 3 x 4的值 bin bash 案例 1 計算 2 3 4 的值 使用第一種方式 ...