溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

if條件語(yǔ)句實(shí)戰(zhàn)單分支結(jié)構(gòu)

發(fā)布時(shí)間:2020-07-15 07:13:02 來源:網(wǎng)絡(luò) 閱讀:1175 作者:baishuchao 欄目:開發(fā)技術(shù)

單分支結(jié)構(gòu)

語(yǔ)法:

if  [條件]

  then

      指令

fi

if [條件]:then

        指令

fi


if單分支條件中文編程語(yǔ)法:

如果   [你有房]

    那么

        我就嫁給你

果如


提示:分號(hào)相當(dāng)于命令換行,上面兩種語(yǔ)法等用。

特殊寫法: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


見證奇跡的時(shí)刻:
[root@localhost shell]# sh if1.sh 
pls input two num:1 2
yes,1 less than 2


范例3:開發(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:開發(fā)腳本判斷系統(tǒng)剩余內(nèi)存大小,如果低于100M就郵件報(bào)警。

測(cè)試報(bào)警成功后加入系統(tǒng)定時(shí)任務(wù)每3分鐘執(zhí)行一次檢查。


思路:

  1. 如果去內(nèi)容,去內(nèi)存那個(gè)選項(xiàng)。

[root@ailuoli ~]# free -m|grep buffers/ |awk ' {print $NF}'
1781

  2.發(fā)郵件mail,mutt。sendmail服務(wù)器要開啟

[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.編寫腳本

#!/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

if條件語(yǔ)句實(shí)戰(zhàn)單分支結(jié)構(gòu)

三分鐘監(jiān)測(cè)一次:

*/3 * * * * /bin/bash /mem.sh


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI