運算子
(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 ...