日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > 艾銻分享 >

服務器維護Shell腳本的條件測試和if條件語句使用


2020-07-02 19:24 作者:admin

服務器維護Shell腳本的條件測試和if條件語句使用

服務器維護小知識一、條件測試操作

要使Shell腳本程序具備一定的“智能”,面臨的第一個問題就是如何區分不同的情況以確定執行何種操作。Shell環境根據命令執行后的返回狀態值(¥?)來判斷是否執行成功,當返回值為0時表示成功,否則(非0值)表示失敗或異常。使用專門的測試工具——test命令,可以對特定條件進行測試,并根據返回值來判斷條件是否成立(返回值為0表示條件成立)。
使用test測試命令時,包括以下兩種形式:
test 條件表達式
[ 條件表達式 ]
這兩種方式的作用完全相同,但通常后一種形式更為常用,需要注意的是,方括號“[“ 或 ”]”與條件表達式之間需要至少一個空格進行分隔。

1、文件測試:

· -d:測試是否為目錄(Directory);
· -e:測試文件或目錄是否存在(Exist);
· -f:測試是否為文件(File);
· -r:測試當前用戶是否有權限讀取(Read);
· -w:測試當前用戶是否有權限寫入(Write);
· -x:測試是否設置有可執行(Excute)權限;
執行條件測試操作以后,通過預定義變量$?可以獲得測試命令的返回狀態值,從而判斷該條件是否成立。例如,執行以下操作可以測試目錄/media/是否存在,如果返回值$?為0,表示存在此目錄,否則表示不存在或者雖然存在但不是目錄。
[root@CentOS01 ~]# test -d /boot      <!--測試目錄是否存在-->
[root@centos01 ~]# echo $?           <!--查看前一命令的返回值-->
0                      <!--返回0表示條件成立-->
若測試的條件不成立,則測試操作的返回值將不為0(通常為1).
[root@centos01 ~]# test -d /ertec        <!--測試目錄是否存在-->
[root@centos01 ~]# echo $?         <!--查看前一命令的返回值-->
1         <!--返回1表示條件不成立-->

2、整數值比較:

· -eq:第一個數等于(Equal)第二個數;
· -ne:第一個數不等于(Not Equal)第二個數;
· -gt:第一個數大于(Greater Than)第二個數;
· -lt:第一個數小于(Lesser Than)第二個數;
· -le:第一個數小于或等于(Lesser or Equal)第二個數;
· -ge:第一個數大于或等于(Greater or Equal)第二個數;
整數值比較在Shell腳本編寫中的應用較多。例如,用來判斷已登錄用戶數量、開啟進程數、磁盤使用率是否超標,以及軟件版本號是否符號要求等。實際 使用時,往往會通過變量引用、命令替換等方式來獲取一個數值。

3、字符串比較:

· =:第一個字符串與第二個字符串相同。
· !=:第一個字符串與第二個字符串不相同,其中 “ !”表示取反。
· -z:檢查字符串是否為空,對于未定義或賦予空值的變量將是為空串。
[root@centos01 ~]# a=1
[root@centos01 ~]# b=2
[root@centos01 ~]# [ $a = $b ] && echo "yes"  <!--當1等于2顯示yes,不等于顯示為空-->
            <!--顯示為空-->
[root@centos01 ~]# a=1
[root@centos01 ~]# b=2
[root@centos01 ~]# [ $a != $b ] && echo "yes"  <!--當1不等于2顯示yes,否則顯示為空-->
yes        <!--1不等于2,顯示yes-->

4、邏輯測試:

· &&:邏輯與,表示“而且”,只有當前后兩個條件都成立時,整個測試命令的返回值才為0(結果成立),使用test命令測試時,“&&”可以使用“-a”代替。
· ||:邏輯或,表示“或者”,只要前后兩個條件有一個成立,整個測試命令返回的值即為0(結果成立)。使用test命令測試時可以使用“-o”代替。
· !:邏輯否,表示“不”,只有當條件不成立時,整個測試命令返回的值才為0(結果成立)。
示例如下:
[root@centos01 ~]# a=100
[root@centos01 ~]# [ $a = 100 ] && [ $a != 50 ] && echo "yes" <!--使用邏輯與運算,兩個條件為真顯示yes-->
yes      <!--兩個條件為真,顯示yes-->
[root@centos01 ~]# c=100
[root@centos01 ~]# [ $a = 100 ] || [ $a -ge 50 ] && echo "yes"   <!--使用邏輯與運算,兩個條件一個為真顯示為yes-->
yes     <!--兩個條件一個為真,顯示yes-->

服務器維護小知識二、使用if條件語句

1、單分支if語句

if語句的“分支”指的是不同測試結果所對應的執行語句(一條或多條)。對于單分支的選擇結構,只有在“條件成立”時才會執行相應的代碼,否則不會執行任何操作。單分支if語句的語法格式如下所示:

單分支if語句示例:
[root@centos01 ~]# cd /usr/src/ppp     <!--驗證目錄是否存在-->
-bash: cd: /usr/src/ppp: 沒有那個文件或目錄  <!--ppp目錄不存在-->
[root@centos01 ~]# vim if_dan.sh  <!--編寫創建/usr/src/ppp目錄的腳本-->
#!/bin/bash           <!--腳本聲明-->
mount="/usr/src/ppp"       <!--定義一個變量-->
if [ ! -d $mount ]            <!--測試條件-->
then                  <!--如果滿足則執行下面的命令-->
        mkdir -p $mount             
fi             <!--if語句結束-->
[root@centos01 ~]# chmod +x if_dan.sh       <!--添加權限-->
[root@centos01 ~]# ./if_dan.sh         <!--執行腳本自動創建-->
[root@centos01 ~]# cd /usr/src/ppp/ <!--查看目錄是否創建成功-->
[root@centos01 ppp]# ls

2、雙分支if語句

對于雙分支的選擇結構,要求針對“條件成立” “條件不成立”兩種情況分別執行不同的操作。雙分支if語句的語法格式如下所示:

雙分支if語句示例:
[root@centos01 ~]# vim if_shuang.sh <!--編寫腳本測試網絡連通性-->
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null <!--ping 3次,間隔0.2秒,超時3秒,$1為位置變量-->
if [ $? -eq 0 ]         <!--測試條件為前一條的命令執行成功-->
then              <!--如果成功,則執行以下命令-->
    echo "Host:$1 is UP!!!"
else                <!--若不成功,則執行以下命令-->
    echo "Host:$1 is DOWN!!!"
fi     <!--if語句結束-->
[root@centos01 ~]# chmod +x if_shuang.sh        <!--添加執行權限-->
[root@centos01 ~]# ./if_shuang.sh 192.168.100.10      <!--使用腳本測試100.10網絡是否通信-->
Host:192.168.100.10 is UP!!!     <!--UP證明這臺主機是開機狀態-->
[root@centos01 ~]# ./if_shuang.sh 192.168.100.103  <!--使用腳本 測試100.103網絡是否通信-->
Host:192.168.100.103 is DOWN!!!           <!--DOWN證明這臺主機是關機狀態-->

3、多分支if語句

由于if語句可以根據測試結果的成立、不成立分別執行操作,所有能夠嵌套使用,進行多次判斷。例如,首先判斷某學生的得分是否及格,若及格則再次判斷是否高于90分等。多分支if語句的語法格式如下:

多分支if語句示例:
[root@centos01 ~]# vim if_duo.sh    <!--編寫腳本測試學生成績-->
#!/bin/bash
read -p "請輸入考試成績:" insert
if [ $insert -ge 85 ] && [ $insert -le 100 ]   <!--85~100分,優秀-->
   then
        echo "恭喜您考試成績為優秀!!!"
elif [ $insert -ge 70 ] && [ $insert -le 84 ]  <!--70~84分,合格-->
   then
        echo "恭喜您考試成績為合格!!!"
else          <!--其他分數,不合格-->
        echo "很遺憾您考試成績可以收拾收拾回家種苞米了!!!"
fi           <!--if語句結束-->
[root@centos01 ~]# chmod +x if_duo.sh     <!--添加執行權限-->
[root@centos01 ~]# ./if_duo.sh    <!--運行腳本-->
請輸入考試成績:94        <!--94分優秀-->
恭喜您考試成績為優秀!!!
[root@centos01 ~]# ./if_duo.sh
請輸入考試成績:82
恭喜您考試成績為合格!!!
[root@centos01 ~]# ./if_duo.sh
請輸入考試成績:71
恭喜您考試成績為合格!!!
[root@centos01 ~]# ./if_duo.sh
請輸入考試成績:32
 
IT運維  我們選擇北京艾銻無限
以上文章由北京艾銻無限科技發展有限公司整理
 

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 国产三级精品三级在线专区1_婷婷伊人网_久久av福利_午夜天堂视频_亚洲国产三级在线观看_伊人成人影视_超碰在线免费97_97视频在线观看播放 | 四虎国产精品亚洲永久免费_日本真人做人爱一区二区三区_午夜片少妇无码区在线观看_99热久久精品免费精品_免费国产裸体美女视频全黄_素人一区二区三区_想看一级毛片_永久免费av无码网站yy | 国产成人高清成人AV片在线看_91社看片_日本a∨视频_熟女人妻在线视频_日本不卡二区视频_四虎精品寂寞少妇在线观看_国产视频亚洲精品_欧美日韩 | 久久精品入口九色_亚洲妇女自偷自偷图片_成人av观看_亚洲毛片在线观看_国偷自产AV一区二区三区_国产一级特黄a大片免费_福利黄色_中文字幕韩国三级理论无码 | 亚洲黄色视频网站在线观看_午夜免费福利小视频_插我一区二区在线观看_亚洲精品无码乱码成人_又大又硬又爽又黄又粗又长_色999在线_五月久久婷婷精华油_国内精品福利视频 | 国产AV仑乱内谢_国产精品一区二区三区在线免费观看_久久精品天天中文字幕人妻_成人毛片18女人_四虎影院最新网址_欧美成人精品一区二区综合_国语免费一级毛片私人_亚洲国产成人精品女人久久 | 女女互磨互喷水高潮les呻吟_av网址免费观看_97精品久久久久中文字幕_快色视频_国产亚洲中文字幕在线_玩偶姐姐在线观看免费_亚洲日韩精品一区二区三区_东凛mdyd950在线播放 | 日韩精品一级毛片_91成人免费在线观看_最近的中文字幕视频完整_国产一区二区三区网站_黄色精品一区二区_99视频有精品视频高清_国产在线精品一区二区在线播放_av人摸人人人澡人人超碰 | 总裁与秘书高h肉_中文精品久久久久鬼色_日韩精品无码专区免费播放_国产古装全黄A级视频_青苹果乐园高清免费看_不卡国产一区二区三区四区_国产日产欧产精品精品ai_在线免费色 | 国产乱理伦片a级在线观看_精品国产一区二区三区观看不卡_久久精品道一区二区三区_日本牲交大片无遮挡_中文字幕区一区二_爱色av网站_三级全黄做爰_四虎影视成人永久免费观看视频 | 麻豆传媒在线看_精品国产一区a_欧美成人WWW在线观看_国产精品揄拍一区二区久久_国a精品视频大全_国产最变态调教视频_a一级黄色毛片_国产精品69人妻我爱绿帽子 | 中国日本在线视频中文字幕_a在线视频免费观看_午夜影院官网_在线不卡一区二区_黄色片网站日本_亚洲专区在线播放_娇妻被别人玩弄至高潮视频_久久91超碰人人澡人人爽 | 国产美女一级二级三级chinese_无码毛片中文字幕加勒比免费高清_久久久久高清_97超碰资源站_日韩国产亚洲精品_掐住奶头用针扎进乳孔里小说_国产自产视频一区二区三区_毛片网此 | 国产成人精品无码A区在线观看_日本黄色免费在线_妺妺窝人体色WWW在线_91一区视频_天堂一区一卡二卡视频_老师洗澡让我吃她胸视频_国产精产国品一二AAA片_国产综合?V一区二区三区无码 | 天堂中文官网在线_国产成人自拍视频在线观看_最近中文字幕一区二区_大屁股熟女一区二区三区_热热av_宝贝好紧好爽再搔一点试视频_天天躁日日躁狠狠躁婷婷_天天操夜夜噜 | 国产一区二区影视_不卡一区在线_西西人体大胆啪啪实拍_一级黄色aaaa_国产中文字幕在线看_欧美一区=区_中文字幕亚洲高清_国产原创三级 | 日韩视频在线第一页_欧美黑人欧美黑人双交_在线99_亚洲伊人成人_久久人人爽人人人人片_人妻人人澡人人添人人爽人人玩_久久香蕉99_天天看国91产在线精品福利桃色 | 天天摸天天碰天天操_欧美一区二区三区aa大片漫_亚洲小说乱欧美另类_97av在线_9的国产精选久久_日本一区二区成人_国产高清免费_亚洲中文字幕乱码一区 | 丰满人妻熟妇乱又仑精品_色精品一区二区三区_91精品午夜窝窝看片_sss海量视频在线观看_亚洲高清视频免费观看_中文字幕亚洲欧美专区_草草影院第一页yyccc_亚洲国产七七久久桃花 | 青天衙门第一部40集_av免费一区_国产欧美做爰xxxⅹ在线观看_国产乱了伦视频大全亚琴影院_国产偷抇久久精品a片蜜臀a_国产精品久久久久久久久小说_国产高清中文手机在线观看_精品国产一区二区三区av片 | 久久精品人妻中文系列_国产又爽又大又黄A片图片_久久久久久久影视_欧美一区二区三区成人精品_欧美精品一区二区三区久久_亚洲精品91天天久久人人_91视视频在线观看入口直接观看_老妇xxxxx | 国产精品无码a片福利院网站_国产一区二区三区免费播放_久久精品高清_久久偷看各类WC女厕嘘嘘_超碰99人人_国产在线永久免费_国产一区精品最新_天堂中文最新版 | 国产精品自在拍视频首页_中文字幕乱码亚洲无线码按摩_成人激情视频在线观看_www.四虎com_国产在线视频99_2002亚洲精品真实在线_国产精选在线播放_色先锋影音岛国av资源 | 国产精品一区二区香蕉_91精品一二区_天堂网在线.www天堂在线资源_成人亚洲一区二区三区_人妻尝试又大又粗久久_亚洲国产精品无码成人A片在线_私人家庭影院5777_亚洲国产影视 | 日本乱码一区二区三区芒果_成人在线观看免费_中文字幕亚洲欧美精品一区四区_国产又爽又猛又粗的A片_欧美情侣性视频_国产高清精品软件丝瓜软件_国产免费久久久久_亚洲美女视频网 | 日韩第2页_中文字幕欧美激情_中国嫩模一级毛片_国产美女在线播放_日本在线看片免费人成视1000_www嫩草_自拍偷拍一区二区三区四区_爱射综合网 一二三四视频社区在线播放中国_91视频免费在线看_色妹子综合网_亚洲中文字幕无线无码毛片_天天操狠狠操_a在线视频观看_日本xxxⅹ18一20岁_www.91精品视频 | 黄色录像一级大片_国产精品无码综合区_国产精品视频伦_跪趴式啪啪gif动态图27报_www久_久久久久99人妻一区二区三区_男人的天堂午夜_www.女 | AV在线播放无码线_久久无码高潮喷水_国产精品二区在线观看_日本一级黄色_韩国a级黄色_久久精品免费一区二区_精品国产一区二区三区香蕉沈先生_色欲天天天天天综合网 | 五月丁香综合缴情六月小说_精品午夜福利无人区乱码一区_国产精品精品国内自产拍_久久久亚洲福利精品午夜_欧美男男GAY可播放免费不卡_九九精品热播_国产高清视频青青青在线_www.99热这里只有精品 | 永久av在线免费观看_后入内射国产一区二区_国产xxxxx精品av青椒_国产网红福利视频一区二区_成人福利在线播放_99视频_国产精品一区二区在线观看99_97视频一二区 | 国产亚洲情侣一区二区无_亚洲精品视频免费观看_樱桃视频大全免费观看_撕开奶罩揉吮奶头高潮av_成人免费精品网站在线观看影片_va在线观看_欧美爆乳精品国产一区二区三区_久久久久亚洲AV无码A片男男 | 一级毛片免费在线_雪白浑圆高耸光滑呻吟_伊人精品_伊人久久综合精品久久_欧美精品综合_一夜新娘第三季高清免费观看_亚洲综合精品一区_成人一级免费视频 | 久久婷婷人人澡人人爽人人喊_亚洲中文欧美日韩在线观看_一本一道波多野结衣一区_青青视频一区_国产精品视频免费一区_在线免费亚洲_国精产品一区一区三区在线观看_日日噜噜夜夜狠狠久久丁香五月 | 国产精品馆_国产成年在线_神马在线视频_亚洲一区二区三区自拍公司_在线观看五码_日韩精品成人一区二区在线_黄色软件91_亚洲高清中文字幕在线看不卡 | 91爱国产_丰满少妇被猛烈进入高清播放软件_国产一区二区三区_久久亚洲国产_91香蕉亚洲精品_亚洲夜夜欢a∨一区二区三区_www.日本国产_亚洲一区二区中文播放av | 色欲蜜桃AV无码中文字幕_2018天天操天天干_青青草一区二区_豆花视频免费网站入口_aⅴ成年女人毛片免费观看_日本网站一区二区三区_久草久干_免费无码av片在线观看 | 天堂中文官网在线_国产成人自拍视频在线观看_最近中文字幕一区二区_大屁股熟女一区二区三区_热热av_宝贝好紧好爽再搔一点试视频_天天躁日日躁狠狠躁婷婷_天天操夜夜噜 | 97精华最好的产品在线_国产精品午夜久久_亚洲久久超碰无码色中文字幕_www九色_91亚洲精品国产_AV无码免费无禁网站_最近2019中文字幕_在线视频青青草 | 国产人妻人伦精品熟女麻豆_国产91精品老熟女泻火_无码毛片一级片特黄_校园春色在线观看_久草网站_国产av一区二区三区最新精品_一级毛片日韩_村上丽奈av作品 | 在线观看麻豆_日本韩国亚洲欧美在线_一二级黄色大片_日韩黄色免费看_天天干夜夜艹_我的巨臀人肉坐便器老师_一区视频免费在线观看_aaaaa爽爽爽久久久 | 国产偷自拍对白在线视频_国产精品一二三区视频_欧美精品一区二区三区手机在线_国产精品成人在线播放_亚洲老妇色熟女老太_91麻豆精品国产综合久久久久久_手机在线免费av_亚洲精品韩国美女在线 |