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

中國專業(yè)IT外包服務(wù)

用心服務(wù)每一天
IT之道-艾銻知道

您當(dāng)前位置: 主頁 > 資訊動態(tài) > 艾銻分享 >

服務(wù)器維護(hù)Shell腳本的條件測試和if條件語句使用


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

服務(wù)器維護(hù)Shell腳本的條件測試和if條件語句使用

服務(wù)器維護(hù)小知識一、條件測試操作

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

1、文件測試:

· -d:測試是否為目錄(Directory);
· -e:測試文件或目錄是否存在(Exist);
· -f:測試是否為文件(File);
· -r:測試當(dāng)前用戶是否有權(quán)限讀取(Read);
· -w:測試當(dāng)前用戶是否有權(quán)限寫入(Write);
· -x:測試是否設(shè)置有可執(zhí)行(Excute)權(quán)限;
執(zhí)行條件測試操作以后,通過預(yù)定義變量$?可以獲得測試命令的返回狀態(tài)值,從而判斷該條件是否成立。例如,執(zhí)行以下操作可以測試目錄/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、整數(shù)值比較:

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

3、字符串比較:

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

4、邏輯測試:

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

服務(wù)器維護(hù)小知識二、使用if條件語句

1、單分支if語句

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

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

2、雙分支if語句

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

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

3、多分支if語句

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

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

相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 亚洲最大色大成人av_欧美成人小视频_精品视频一区二区三区中文字幕_九色视频网_亚洲国产成人精_亚洲精品v欧美精品动漫精品_欧洲LV尺码大_一区二区三区在线看 | 成人看片在线_深夜福利备好纸巾18禁止_国产一区福利_九一精品视频_久久久国产精品无码免费专区_国产欧美在线观看精品一区二区_国产性色AV免费观看_中文字幕一区二区三区四 | 粉粉嫩av一区二区三区四区_午夜视频免费播放_jizz在线观看_亚洲一区二区三区免费在线_91短视频免费在线观看_杨幂ai换脸视频_免费A级毛片18禁_超碰在线播 | 国产国语性生话播放_亚洲综合日韩欧美_2018高清国产一区二区三区_人与善性猛交xxxx视频_小污女小欲女导航_精品对白一区国产伦_麻豆国产VIDEOFREE高清_bt久久 | 三级精品在线_国产成人片视频一区二区_精品国产一区二区三区久久狼_天天摸夜夜添夜夜无码_99在线精品国自产拍不卡_亚洲www网站_日韩大片在线永久观看视频网站免费_吖v国产高清在线播放 | 欧美日韩免费一_国产主播一区二区三区在线观看_欧美妇乱大交xxxxx_亚洲国产综合久久_久久一区二区免费视频_久久久国产精品麻豆_日本一区二区三区免费在线观看_www.youjizz.com国产 | 好男人在线影院官网WWW_漂亮人妻被强中文字幕久久_公和熄小婷乱中文字幕_CHESE老妇MON熟女_日色视频_一级黄色在线播放_特级bbbbbbbbb视频_亚洲精品久久久久国产 | 色77影院_国产成人无码AV麻豆_久久人成_不卡高清AV手机在线观看_久久精品在线视频_亚洲国产精品嫩草影院在线观看_精彩视频一区二区三区_国产精品亚洲一区二区三区妖精 | 成人做爰高潮片免费视频韩国_欧美一级黄色免费_日韩欧美一级片_超碰国产91_亚洲av无码专区亚洲av不卡_亚洲爱爱小视频_久久综合九色综合欧美就去吻_在线观看免费人成视频色9 | 免费偷拍视频_免费看黄网站在线观看_久久www色情成人免费观看_狠狠人妻久久久久久综合_一区二区精品在线_99国产精品久久久久久久久久久_亚洲中又文字幕精品av_一二三不卡视频 | 激情久久中文字幕_亚洲经典国产欧美_草草久久久_91看片儿_蜜臀免费av_美女一区视频_97在线视频免费看_内插射精大群交在线 | 色综合中文字幕第二页_亚洲高清无在线码_国产超碰人人做人人爽Av_亚洲一区中文字幕在线观看_91网站免费观看_亚洲第一伊人_亚洲四区在线_AV无码人妻中文字幕 | 日韩欧美中_A级做爰片_特级无码毛片免费视频播放_国产精品多人P群无码_亚洲XXXX做受欧美_久久人人视频_色爽女少妇_久久精品中文字幕一区二区 | JAPAN日本人妻熟老太_欧美成人精品第一区二区三区_国产不卡在线_日日日操_国产精品久久a_日本成人在线网_爆乳护士一区二区三区在线播放_色综合视频一区中文字幕 | 日韩亚洲一区二区_99精品福利视频_美女又黄又免费的视频_无码专区永久免费AV网站_一区二区免费视频_7777色鬼XXXX欧美色妇_h动漫视频在线_国产ed2k | 一区二区三区不卡在线观看_国产精品女人呻吟在线观看_四虎2022永久免费人口_欧美精品99无码一区二区_77色77国产欧美在线_亚洲精品美女在线_奇米色欧美一区二区三区_欧美精品久久一区 | 日本久久精品一区_亚洲黄片在线免费_日本japanesexxxxx乱_久久久这里有精品_亚洲AV成人一区二区三区_亚洲狠狠婷婷综合久久久_欧美+日本+国产+在线观看_精品国产美女AV久久久久 | www视频在线观看_av播放片在线观看_麻豆亚洲高清无矿砖码区_91国语_99亚洲一区二区_精品无码专区久久久水蜜桃_久久久久成人片免费观看蜜芽_精品国产一区二区三区不卡蜜臂 | 青青青国产精品一区二区_97人人爽人人喊人人模波多_三级免费网址_黄色片aaaa_四虎av成人_欧美大片一区_日韩精品无码区免费专区_91污免费 | 中文字幕在线观看一区二区_日本极品少妇videossexhd_欧美中文一区_亚洲成人www_国产精品一级无遮挡毛片_香蕉av久久一区二区三区_VideOS性饥渴_国产精品萝li | 日本久久艹_亚洲中文无码永久免费_一区二区三区精品在线视频_玩弄放荡人妻少妇系列视频_天天爽天天爽夜夜爽毛片_成人丝袜激情一区二区_日本肉体裸XXXXBBBB_cao久久 | 91精品国产日韩91久久久久久_欧美性少妇xxxx极品高清hd_操老妇视频_视频一区不卡_女女女女BBBBBB毛片在线_天天躁日日躁狠狠躁超碰97_久久中文精品无码中文字幕_天天躁狠狠躁狠狠躁夜夜躁 | 擼擼色在线看观看免费_日本中文字幕在线视频观看_欧洲免费毛片_爱操视频在线观看_一本一道在线人妻中文字幕_日本欧美久久久免费播放网_欧美一性一交_日本边添边摸边做边爱的网站 | 男女18禁啪啪无遮挡激烈网站_黄色毛片免费进入_学园默示录免费观看_辽宁人妻Chinese_在线婷婷_黄的网站在线观看_欧美特级黄色大片_日本在线视频免费 | 成年人视频在线看_欧美久久性视频_超碰aⅴ人人做人人爽欧美_噜噜噜91成人网_亚洲欧美丝袜精品久久_国产精品成人无码A片免费网址_91一二区_91久久久精品国产一区二区蜜臀 | 不卡视频一二三区_爱逼爱操综合网_一区二区在线免费播放_久久伊人av_久久九九国产精品怡红院_男女一边摸一边做爽爽的免费阅读_久久精品无码专区免费青青_91精品啪 | 在线精品自拍亚洲第一区_狠狠综合久久久久综合网_可以免费看av的网址_久久久久青草大香综合精品_亚裔av_欧美日韩在线亚洲一区蜜芽_欧美在线免费观看视频_色久视频 | 久久免费成人网_欧美一级黄_日韩色在线_成人免费一级视频_麻豆资源在线观看_性爱在线免费视频_亚洲第一视频区_国产美女午夜福利久久 | 国产片在线免费观看_亚洲av无码成h人动漫无遮挡不卡_www日本高清视频_91成人午夜_午夜性大片_av在线播放网址_久久思热_日韩人妻无码精品久久久不卡 | 麻豆传媒tv_小嫩模无套内谢第一次_人成精品_国产婷婷精品AV在线_亚洲熟妇av午夜无码不卡_国产一大二大不卡专区_明星一级毛片_人人看人人干 | 超碰网av_国产熟妇与子伦hd_亚洲一区视频网站_中国毛茸茸bbxx_大伊香蕉AV最新播放_啄木乌欧美一区二区三区在线_国产精品久久999_精品一区二区三区日韩 | 懂色一区二区三区av片_91色在线_97在线国产视频_99久久久国产精品免费牛牛_99国产精品白浆在线观看免费_亚洲在线色_国产无限免费av在线播放_日韩欧美国产免费 | 精品国产一区二区三区2021_啊轻点灬大ji巴太粗太长了网站_91免费黄色软件_99精品久久99久久久久胖女人_亚洲成a∧人片在线播放无码_岳肥肉紧嫩嫩伦69_久久久久青草线蕉亚洲_国产无夜激无码av毛片 | 嫩草黄色_69视频在线播放_亚洲精品mv在线观看_波多野结衣AV最新作品在线观看_国产视频精品视频_欧美肥婆丰满bbw_成人免费网视频_亚洲日本中文字幕网站 | 免费观看一区二区_亚洲欧美校园_亚洲AV中文无码字幕色下药_美女被按在床上_亚洲一久久_特黄一级性片看_国内a级毛片免费观看品善网_日本av中文字幕 | 天天摸天天搞_国产视频精品久久_麻豆网站免费_国产精品久久久久久久久久蜜臀_激情成人开心网_国产女精品视频网站免费_精品中文字幕在线观看_免费在线观看亚洲 | 精品嫩草_无码爆乳超乳中文字幕在线_超碰在线99_av中出_亚洲高清视频在线观看_顶级少妇做爰高潮_黄色一级片免费网站_AV天堂久久天堂色综合 | 男人的天堂Aⅴ在线_特级毛片A片全部免费97_97免费看_免费无码一区二区三区A片百度_精品成人网_狠狠噜天天噜日日噜视频跳一跳_中国熟妇人妻videos_日日碰日日摸夜夜爽无码 | 在线免费91_一级久久久久久_一本大道伊人av久久乱码_一级黄片一级毛片_大地资源网视频在线观看新浪_www久久99_成人无码区免费视频_国产全肉乱妇杂乱视频 | 五月丁香综合缴情六月小说_精品午夜福利无人区乱码一区_国产精品精品国内自产拍_久久久亚洲福利精品午夜_欧美男男GAY可播放免费不卡_九九精品热播_国产高清视频青青青在线_www.99热这里只有精品 | 亚洲AV成人精品日韩在线播放_97夜夜澡人人爽人人模人人喊_国产成人精品免费视频大全五级_日韩区欧美久久久无人区_中文天堂网www新版资源在线_欧美饥渴熟妇高潮喷水_www.青青草原.com_日韩专区一区二区 |