3 shell程式設計之運算子與條件判斷

2022-09-22 22:48:28 字數 1659 閱讀 2630

運算子

(1)、"$((表示式))"或"$[表示式]"

(2)、expr m+n

注意:expr運算子間要有空格

(3)、expr m-n

(4)、expr \ *,/,% 乘、除、取餘

(1)、計算(2+3)*4的值

vim demo.sh

#!/bin/bash

#第一種方式

result1=$(((2+3)*4))

echo "result1=$result1"

#第二種方式(推薦)

result2=$[(2+3)*4)]

echo "result2=$result2"

#第二種方式,使用expr

(2)、請求出命令列的兩個引數的和

#!/bin/bash

sum=$[$1+$2]

echo "sum=$sum"

./demo.sh 10 8

條件判斷

[condition] (注意condition前後要有空格)

非空返回true,可使用$?驗證(0為true,>1為false)

[atguigu] 返回true

返回false

[condition]&&echo ok ||echo notok 條件滿足,執行後面語句

常用判斷條件

(1)、兩個整數的比較

=字串比較

-lt 小於

-le 小於等於

-eq 等於

-gt 大於

-ge 大於等於

-ne 不等於

(2)、按照檔案許可權進行判斷

-r 有讀許可權

-w 有寫許可權

-x 有執行許可權

(3)、按照檔案型別進行判斷

-f 檔案存在且是常規檔案

-e 檔案存在

-d 檔案存在且是乙個目錄

(4)、例項

a、"ok"是否等於"ok"

#!/bin/bash

if [ "ok"="ok" ]

then

echo "equal"

fib、23是否大於等於22

#!/bin/bash

if [ "23" -ge "22" ]

then

echo "大於"

fic、/root/install.log 目錄中的檔案是否存在

#!/bin/bash

if [ -e /root/install.log ]

then

echo "存在"

fi

shell程式設計之運算子

shell變數是弱型別的,且預設是字串型,所以預設情況下無法進行數值計算。解決方法如下 命令格式 declare 選項 變數名 選項 給變數設定型別屬性 取消變數的型別屬性 a 將變數宣告為陣列型 i 將變數宣告為整數型 integer x 將變數宣告為環境變數 r 將變數宣告為唯讀變數 p 顯示指...

shell程式設計之運算子

a declare i cc aa bb.會將cc宣告為整形。作的是加法運算 b declare x test 123 會將變變數宣告為環境變數。export實際也是呼叫的該命令。c declare p test 檢視當前test變數的定義格式 d declare r test 將test變數設定為...

十一 Shell程式設計之運算子

shel程式設計之運算子 一 declare命令 在shell中如果不宣告變數型別,所有的都預設是字串型別 1.declare宣告變數型別 格式 declare 選項 變數名 選項 給變數設定型別屬性 取消變數的型別屬性 a 將變數宣告為陣列型 i 將變數宣告為整數型 x 將變數宣告為環境變數 r ...