1. 程式人生 > >Day02 數值運算&條件判斷

Day02 數值運算&條件判斷

file less 文件 命令行 quit 3.2 替換 我沒 直接

一、整數運算

1.1 expr 整數1 運算符 整數2

計算指定的表達式,並輸出結果,註意整數和運算符間必須有空格,而且乘號必須用*轉義。很少使用,忽略。

1.2 $[整數1 運算符 整數2]

計算指定的表達式,並輸出結果。整數和運算符之間無需空格,乘號無需轉義,引用變量無需加$符號。計算結果直接替換表達式本身
必須背下來,對於取余計算來說,余數永遠不可能大於被除數。

1.3 let 變量=整數1 運算符 整數2

計算指定的表達式,引用變量無需加$符號,結果不輸出到屏幕,必須通過echo來輸出結果

1.3.1 let i++

等同於i=i+1

1.3.2 let i--

等同於i=i-1

1.3.3 let i+=3

等同於i=i+3

1.3.4 let i-=1

等同於i=i-1

1.3.5 let i*=2

等同於i=i*2

1.3.6 let i/=3

等同於i=i/3

二、小數運算

2.1 bc

直接運行bc可進入交互式界面,quit退出
scale 控制小數點位數
實戰中結合管道發送表達式,多個表達式必須用;分隔
echo "scale=2;2.2+5;5.5/3"|bc#小數點留2位,計算兩個表達式的值

2.2 小數值的比較

比較符號有>,>=,==,!=,<,<=
如果表達式成立,結果為1;表達式不成立,結果為0
echo "1>2"|bc 結果0

echo "4>3"|bc 結果1

三、條件判斷

3.1 條件判斷的格式

[ 判斷條件 ] 常用,註意判斷條件和方括號之間的空格
test 判斷條件

3.2 字符串

3.2.1 [ 變量1 == 變量2 ]

判斷變量1是否等於變量2

3.2.2 [ 變量1 != 變量2 ]

判斷變量1是否不等於變量2

3.2.3 [ -z 變量 ]

判斷字符串的長度是否為0,即變量為空(zero)

3.2.4 [ !-z 變量 ]

相當於-n。判斷字符串的長度是否不為0,即變量非空(zero)

3.3 命令行中如何執行多條命令

3.3.1 A;B

執行A,執行B。你我沒半毛錢關系

3.3.2 A && B

執行A,僅當A成功,才執行B。有你才有我
[ $USER == ‘root’ ] && yum install -y httpd

3.3.3 A || B

執行A,僅當A失敗,才執行B。有你沒我,有我沒你

3.4 整數值

多個條件組合時,可以使用 [[ .. ]] 界定

3.4.1 [ -eq 變量 ]

equal。等於

3.4.2 [ -ne 變量 ]

not equal。不等於

3.4.3 [ -gt 變量 ]

greater than,大於

3.4.4 [ -ge 變量 ]

greater or equal。大於或等於

3.4.5 [ -lt 變量 ]

less than。小於
3.4.6 [ -le 變量 ]
less or equal。小於或等於

3.4.7 [ -le 1 -[o,a] -ge 99 ]

-o或
-a與

3.5 文件或目錄

3.5.1 [ -e 對象 ]

對象存在(Exist)為真

3.5.2 [ -f file ]

存在並且為文件(File)則為真

3.5.3 [ -d file ]

存在並且為目錄(Directory)則為真

3.5.4 [ -r file ]

文件可讀(Read)則為真

3.5.5 [ -w file ]

文件可寫(Write)則為真

3.5.6 [ -x file ]

文件可執行(eXecute)則為真

四、if條件判斷

4.1 單分支if(僅判斷正確)

if [ 判斷 ];then
命令
fi

4.2 雙分支if

if [ 判斷 ];then
正確後執行命令
else
錯誤後執行命令
fi

4.3 多分支if

if [ 判斷 ];then
正確後執行命令
elif [ 判斷 ];then
錯誤後執行命令
elif [ 判斷 ];then
錯誤後執行命令
......
else [ 判斷 ];then
錯誤後執行命令
fi

Day02 數值運算&條件判斷