1.for循環(huán)輸出1,3,5,7,9…97,99
for((i=1;i<100;i+=2))do echo $i;done//更喜歡這種for循環(huán)2.計(jì)算從控制臺讀取的兩個(gè)數(shù)的和、差、積和商 算術(shù)運(yùn)算有三種方式:使用 exPR 外部程式、使用
3.if else條件判斷表達(dá)式 比較從控制臺輸入的兩個(gè)整數(shù)的大小
read xread yif [ $x -gt $y ]; thenecho "X is greater than Y"elif [ $x -lt $y ]; thenecho "X is less than Y"elseecho "X is equal to Y"fi//要注意在'['后面和']'前面都必須要有空格;判斷字符串的是否相等
read chif [ $ch = 'Y' -o $ch = 'y' ]; thenecho "YES"elseecho "NO"fi//字符串判斷用"="判斷兩個(gè)字符串是否相等,而不是"==";判斷三角形的形狀:等邊、等腰或不等邊
read aread bread cif [ $a = $b -a $a = $c -a $b = $c ]; thenecho "EQUILATERAL"elif [ $a = $b -o $a = $c -o $b = $c ]; thenecho "ISOSCELES"elseecho "SCALENE"fi//使用-o或-a來連接不同的邏輯判斷條件字符串判斷 [ -z str ] 如果str的長度為零則返回為真,即空是真 [ str ] 如果字符串不為空則返回為真,與-n類似 [ str1 = str2 ] 如果兩個(gè)字符串相同則返回為真 [ str1 != str2 ] 如果字符串不相同則返回為真 [ str1 < str2 ] 如果 str1字典排序在str2前面則返回為真。
數(shù)值判斷 [ num1 -eq num2 ] 等于 [ num1 -ne num2 ] 不等 [ num1 -gt num2 ] 大于 [ num1 -ge num2 ] 大于等于 [ num1 -lt num2 ] 小于 [ num1 -le num2 ] 小于等于
邏輯判斷 [ ! EXPR ] 邏輯非 [ EXPR1 -a EXPR2 ] 邏輯與 [ EXPR1 -o EXPR2 ] 邏輯或 [ ] || [ ] 用OR來合并兩個(gè)條件 [ ] && [ ] 用AND來合并兩個(gè)條件
4.數(shù)學(xué)表達(dá)式的計(jì)算 計(jì)算輸入的數(shù)學(xué)表達(dá)式的值
read str //從控制臺讀取數(shù)學(xué)表達(dá)式printf "%.3f" $(echo $str | bc -l) //計(jì)算數(shù)學(xué)表達(dá)式 //"%.3f"輸出浮點(diǎn)數(shù),在小數(shù)點(diǎn)第三位進(jìn)行四舍五入//echo $str | bc -l 計(jì)算數(shù)學(xué)表達(dá)式,如echo "5/3" | bc -l,輸出1.66666666666666666666從控制臺讀取一定數(shù)目的數(shù)字,然后計(jì)算器平均值
read countsum=0for((i=0;i<count;i++))doread numsum=$((sum+num))doneprintf "%.3f" $(echo "$sum/$count" | bc -l)count用來表示讀取數(shù)字的數(shù)量,sum表示和,然后通過echo “
新聞熱點(diǎn)
疑難解答