一:exit(0)與exit(1)、return差別
exit函數是退出應用程式,删除程序使用的記憶體空間,并将應用程式的一個狀态傳回給OS,這個狀态辨別了應用程式的一些運作資訊,這個資訊和機器和作業系統有關,一般是 0 為正常退出, 非0 為非正常退出。
return傳回函數值,是關鍵字,它表示了調用堆棧的傳回,退出函數。
二:數學運算
簡單運算:let,[ ],(( ))
進階運算:expr,bc
1、let
let是bash内置指令,可以實作簡單的算術運算和邏輯運算
#!/bin/bash
i=10
echo $i
let a=i+100
echo "a="$a
let b=$i+100
echo "b="$b
》10
》a=110
》b=110
2.[ ]
#!/bin/bash
i=10
echo $i
a=$[i+100]
echo "a="$a
b=$[$i+100]
echo "b="$b
》10
》a=110
》b=110
3.(( ))
#!/bin/bash
i=10
echo $i
a=$((i+100))
echo "a="$a
b=$(($i+100))
echo "b="$b
》10
》a=110
》b=110
4.expr
#!/bin/bash
i=10
echo $i
#變量和運算符之間沒有空格
a=`expr $i+100`
echo "a="$a
#當變量和運算符有空格
b=`expr $i + 100`
echo "b="$b
》10
》a=10+100
》b=110
5.bc
bc
指令是一個支援精确的浮點運算的進階電腦,支援數學函數調用。
#!/bin/bash
i=10
j=3
a=`expr $i / $j`
echo "a="$a
b=`expr "scale=9; $i / $j" |bc`
echo "b="$b
~
》a=3
》b=3.333333333
二:浮點數的比較
-eq 相等
-gt 大于
-lt小于
-a或者&& 和
-o或者|| 或
#!/bin/bash
i=0.6
if [ $(echo "${i} >0" |bc) = 1 ];then
echo "1111"
else
echo "2222"
fi
》1111