單分支結(jié)構(gòu)
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、化州網(wǎng)站維護(hù)、網(wǎng)站推廣。語(yǔ)法:
if [條件]
then
指令
fi
或
if [條件]:then
指令
fi
if單分支條件中文編程語(yǔ)法:
如果 [你有房]
那么
我就嫁給你
果如
提示:分號(hào)相當(dāng)于命令換行,上面兩種語(yǔ)法等用。
特殊寫(xiě)法:if [-f "$file1"];then echo 1;if 相當(dāng)于:[if "$file1"]&& echo 1
if [ -f "$file1" ] :then
echo 1
fi
范例1:
#!/bin/bash #功能:單分支if結(jié)構(gòu)整數(shù)比較,用-lt格式例子 if [ 10 -lt 12 ] then echo "yes" fi 執(zhí)行結(jié)果: [root@XCN if]# sh test1.sh yes #提示:當(dāng)比較條件為整數(shù)數(shù)字時(shí)
范例2:使用read及腳本傳參方式如果實(shí)現(xiàn)上述整數(shù)的比較?
解答:
特別強(qiáng)調(diào):read讀入和命令行傳參是兩種輸入內(nèi)容的方法。
1)腳本傳參的方式腳本例子
#!/bin/bash if [ $1 -lt $2 ]: then echo "yes,$1 less then $2" fi 輸入結(jié)果 [root@XCN if]# sh if2.sh 1 2 yes,1 less then 2
2)單分支if判斷兩整數(shù)大小三種情況的腳本例子(以read讀入為例)
#!/bin/bash read -p "pls input two num:" a b if [ $a -lt $b ];then echo "yes,$a less than $b" exit fi if [ $a -eq $b ];then echo "yes,$a eaual $b" exit fi if [ $a -gt $b ];then echo "yes,$a greater than $b" exit fi 見(jiàn)證奇跡的時(shí)刻: [root@localhost shell]# sh if1.sh pls input two num:1 2 yes,1 less than 2
范例3:開(kāi)發(fā)shell腳本實(shí)現(xiàn)如果/server/scipts下面存在if3.sh的內(nèi)容就輸出到屏幕
注意:如果執(zhí)行腳本后發(fā)現(xiàn)該if3.sh不存在,就自動(dòng)創(chuàng)建這個(gè)if3.sh腳本
#!/bin/bash path=/server/scripts file=if3.sh #no1 if [ ! -d $path ] then mkdir -p $path echo "$path is not exist,already created it." fi #no2 if [ ! -f $path/$file ] then touch $path/$file echo "$file is not exist,alreadt created it." exit fi #no3 echo "ls -l $path/$file" ls -l $path/$file ~ 執(zhí)行輸出: [root@localhost ~]# sh if.sh /server/scripts is not exist,already created it. if3.sh is not exist,alreadt created it.
范例4:開(kāi)發(fā)腳本判斷系統(tǒng)剩余內(nèi)存大小,如果低于100M就郵件報(bào)警。
測(cè)試報(bào)警成功后加入系統(tǒng)定時(shí)任務(wù)每3分鐘執(zhí)行一次檢查。
思路:
如果去內(nèi)容,去內(nèi)存那個(gè)選項(xiàng)。
[root@ailuoli ~]# free -m|grep buffers/ |awk ' {print $NF}' 1781
2.發(fā)郵件mail,mutt。sendmail服務(wù)器要開(kāi)啟
[root@ailuoli ~]# yum install sendmail [root@ailuoli ~]# /etc/init.d/sendmail start Starting sendmail: [ OK ] Starting sm-client: [ OK ] [root@ailuoli ~]#echo "xcn"|mail -s "title" 995345781@qq.com
3.編寫(xiě)腳本
#!/bin/bash userd_mem=`free -m|grep buffers/ |awk ' {print $NF}'` if [ $userd_mem -lt 100 ] then echo "menm is not enough,$userd_men."|mail -s "mem warning $(date +%F)" 995345781@qq.com fi
三分鐘監(jiān)測(cè)一次:
*/3 * * * * /bin/bash /mem.sh
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。