By WangGaoPeng
2017.12.5日淹魄,還沒有適應這兩天給自己安排的小習慣籍铁,有點拖延癥郁妈,希望能慢慢適應浑玛。
繼續(xù)昨天沒寫完的Shell編程基礎
Shell編程之if else
通過if else來完成比大小,判斷num1是否大于num2
建立num.sh腳本文件噩咪,繼續(xù)標準開頭如下:
#顾彰!/bin/bash
#if else test \\簡述作用
# by wgp 2017-12-5 ? ?\\作者,創(chuàng)作時間
首先定義兩個數(shù)胃碾,來比對大小
NUM1=10
NUM2=100
if else的寫法
if (($NUM1>$NUM2));then
????????echo "this $NUM1 > $NUM2 !
else
????????echo "this $NUM1< $NUM2 !"?
fi
仔細看涨享,如果num1>num2會輸出 if中的echo,如果判斷num1<num2則會輸出else中的echo
運行腳本:/bin/bash num.sh仆百,結(jié)果如下厕隧,因為num1<num2所以會輸出else中的echo
綜合實驗之判斷成績區(qū)間
根據(jù)學生成績,每個區(qū)間打印不同的提示語
0-60 no pass
>60 pass
>75 good!
>85 very good
此處引用一下腳本之家的if else的邏輯表達式介紹
-ne —比較兩個參數(shù)是否不相等
-lt —參數(shù)1是否小于參數(shù)2
-le —參數(shù)1是否小于等于參數(shù)2
-gt —參數(shù)1是否大于參數(shù)2
-ge —參數(shù)1是否大于等于參數(shù)2
-f — 檢查某文件是否存在(例如俄周,if [ -f "filename" ])
-d — 檢查目錄是否存在
定義好區(qū)間以及每個區(qū)間的echo后吁讨,還需要考慮需要輸入成績部分。這里我們就用到$1了峦朗,前面提到的 $1參數(shù)建丧。詳情如下:
建立一個scores.sh腳本文件
scores=$1?????????????????\\定義變量
if [ -z $scores ];then ? ? ? ? ? ? ? ? ?
????????echo "Usage: {$0 60|80. }" ? ? ?\\定義$1如果為空,則echo輸出波势,并且不進行下面操作
fi
if [[ $scores -ge 85 ]]; then
????????echo "very good!";
elif [[ $scores -ge 75 ]]; then
????????echo "good !";
elif [[ $scores -ge ?60 ]]; then
????????echo "pass!";
else
????????echo "no pass!"
fi
以上的-ge參數(shù)可以根據(jù)我引用腳本之家的參數(shù)詳解根據(jù)不同需要可以更改翎朱。
保存退出橄维,/bin/bash scores.sh ,結(jié)果如下:
這里我們沒有輸入分數(shù)闭翩,所以提示讓我們輸入變量挣郭,比如60或者80
我們這次分別在/bin/bash scores.sh后面輸入四個不同的分數(shù)來看看,如下:
根據(jù)我們不同的分數(shù)疗韵,在每個區(qū)間都輸出了相對應的echo,可以根據(jù)這個圖回頭再看看腳本就理解了侄非。
今天就到這里蕉汪,明天我們講 if else的-d和-f參數(shù),來判斷文件或者文件夾是否存在逞怨。
ok者疤,我們下期再賤