shell的運算子

2021-08-09 17:31:41 字數 2997 閱讀 6318

shell運算子

#!/bin/bash

# filename:day03.sh

# write time:2017-10-23

a=2b=5

#運算子之間的要有空格,$a+$b這樣是不可以的,下同

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"

val=`expr $a % $b`

echo

"a % b = $val"

# 在特殊字元,使用時必須要用空格隔開

if [ $a == $b ]

then

echo

"a == b"

fiif [ $a != $b ]

then

echo

"a != b"

fi

執行上面的**

leeguo@leeguo-pc

:~/nutstore/shell_code

$ bash day03.sh

a + b = 7

a - b = -3

a * b = 10

a / b = 0

a % b = 2

a != b

關係運算子只用於數字的比較。

- -eq:比較兩個數是否相等,若相等返回true

- -ne:比較兩個數是否相等,若不相等返回true

- -gt:比較兩個數的大小,若左邊的大於右邊的返回ture

- -lt:比較兩個數的大小,若右邊的大於左邊的返回ture

- -ge:比較兩個數的大小,若左邊的大於等於右邊的返回ture

- -le:比較兩個數的大小,若左邊的小於等於右邊的返回ture

舉個例子

#!/bin/bash

# filename:day03.sh

# write time:2017-10-23

a=2b=5

if [ $a

-eq$b ]

then

echo

"a == b"

fiif [ $a

-ne$b ]

then

echo

"a != b"

fiif [ $a

-gt$b ]

then

echo

"a >= b"

fiif [ $a

-lt$b ]

then

echo

"a >= b"

fi

輸出結果

a != b

a >= b

布林運算包括非,與,或運算。

- !:非運算

- -a:與運算

- -o:或運算

舉個例子

a=2

if [ $a

-lt5

-a$a

-gt1 ]

then

echo

"1else

echo

"a<=1 or a>=5"

fi

輸出

1

<5

a=2

if[[ $a -lt 5 && $a -gt 1 ]]

then

echo "1else

echo "a<=1 or a>=5"

fi

執行輸出

1

<5

舉個例子

file="test.sh"

if [ -r $file ]

then

echo

"檔案可讀"

else

echo

"檔案不可讀"

fiif [ -w $file ]

then

echo

"檔案可寫"

else

echo

"檔案不可寫"

fiif [ -x $file ]

then

echo

"檔案可執行"

else

echo

"檔案不可執行"

fiif [ -f

$file ]

then

echo

"檔案為普通檔案"

else

echo

"檔案為特殊檔案"

fiif [ -d

$file ]

then

echo

"檔案是個目錄"

else

echo

"檔案不是個目錄"

fiif [ -s

$file ]

then

echo

"檔案不為空"

else

echo

"檔案為空"

fiif [ -e

$file ]

then

echo

"檔案存在"

else

echo

"檔案不存在"

fi

輸出結果

檔案可讀

檔案可寫

檔案可執行

檔案為普通檔案

檔案不是個目錄

檔案不為空

檔案存在

本文參考:

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筆記(運算子 關係運算子 布林運算子)

運算 語法 運 算式 表示式 表示式 表示式 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 基本運算子 檔案測試運算子

檔案測試運算子用於檢測 unix 檔案的各種屬性。屬性檢測描述如下 操作符 說明 舉例 b file 檢測檔案是否是塊裝置檔案,如果是,則返回 true。b file 返回 false。c file 檢測檔案是否是字元裝置檔案,如果是,則返回 true。c file 返回 false。d file ...