日本高清免费一本视频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外包服務
二維碼 關閉
主站蜘蛛池模板: 色欲蜜桃AV无码中文字幕_2018天天操天天干_青青草一区二区_豆花视频免费网站入口_aⅴ成年女人毛片免费观看_日本网站一区二区三区_久草久干_免费无码av片在线观看 | 别插我b嗯啊视频免费_色婷婷av一本二本三本浪潮_182午夜免费_青青青草伊人_久久久免费国产_综合色91_最近中文mv字幕免费高清在线7_色噜噜狠狠色综合成人网 | 做爰全过程免费120秒_黄色片子在线观看_国产三级久久久久_国产精品久久777777_女明星黄网站色视频免费国产_国产精品爆乳奶水无码视频免费_久久免费看少妇高潮A片麻豆_hi6你好星期六免费观看 | 亚洲综合第一页_成人在线视频在线观看_欧美成人精品一区二区三区在线观看_国产日韩欧美亚洲精品中字_国产二区在线播放_av黄在线观免费网站_国产精品自在在线午夜蜜芽TV在线_国产色悠悠 | 国产永久地址_男人久久_国产淫语对白粗口video_在线观看中文字幕网站_日韩在线成人av_GAY片男同网站WWW免费_久久无码免费的A毛片大全_国产福利一二 | 国产奶水一区二区三区_pornhub欧美在线观看_日韩欧美国产1_亚洲大片免费观看_日本床戏视频_a国产精品_天天av天天翘天天综合网色鬼_日b视频在线观看 | 亚洲经典视频_九九视频精品在线_年轻的朋友3中文_开心婷婷久久_99久久视频_九色免费视频_国产精选在线观看播放_自拍偷区亚洲国内自拍蜜臀 | 男人猛躁进女人免费播放_西西人体444WwW高清大胆_精品福利国产_欧美日韩亚洲系列_91短视频入口_放荡的丰满少妇中文字幕_狠狠插日日干_在线观看亚洲精品视频 | 国产潢片AAAAAAAAA免费_天天干天天操天天操_日韩在线播放一区二区_国产日韩大片_很黄很黄的曰批视频_成人精品国产亚洲_国产麻豆一区二区三区精品_1—42集免费观看 | 欧美午夜一区二区三区精美视频_亚洲艳妇_四虎影院观看_久久免费视频观看_成人中文网_狠狠色噜噜狠狠狠狠色综合久AV_ai杨幂被弄高潮在线看_亚洲制服丝袜欧美 | 黄色在线观看污_暴力强奷在线播放无码_www.九九精品_色免费在线观看_www麻豆_公侵犯美丽人妻HD_xxxwww高潮视频hd_国产成人精选在线不卡 | 男人j桶进女人p无遮挡免费的视频_亚洲kkk4444在线观看_极品少妇被啪到呻吟喷水_国产精品臀控福利在线观看_97视频国产自在自线2020_视频h在线_国产成人午夜福利r在线观看观看_午夜福利啪啪片 | 国产成人情侣激情视频_chinesepronhdvideos国产91_欧美成人永久免费a片_黄片国产精品视频_成人乱人乱一区二区三区_男同GAY片AV网站猛男调教_yy6080久久伦理一区二区_国产丝袜精品视频 | 久久影院一区二区三区_69xxx免费_日韩中文字幕2018_国内高清在线观看视频_青春草在线视频免费观看_91精品中文字幕_免费看www_91精品免费 | 乱子伦xxxx_国产精品第一_色多多A级毛片免费看_二级黄的全免费视频_国产片网站_日韩中文字幕高清_91在线精品视频观看_色综合久久天天综合绕观看 | 亚洲a∨无码一区二区三区_亚洲av片不卡无码天堂_日本韩国在线视频_国产影视一区二区三区_国产精品亚洲一区二区三区天天看_色综合天天综合天天更新_精品在线你懂的_在线观看www. | 成人精品免费毛片7778_在线吴梦梦视频一区二区_午夜手机看片_欧美一级特黄视频_欧美乱码视频_三人一起玩弄娇妻高潮_影音先锋中文字幕无码资源站_狠狠色综合久久丁香婷婷| 日日噜噜夜夜狠狠久久蜜桃_CHINESE熟女熟妇1乱老女人_亚洲a片成人无码av_香蕉久久人人97超碰caoproen_2024国产在线拍揄自揄视频_国产伦精品一区二区三区无广告_在线综合视频_成人欧美一区二区三区男男 | 日本舌吻交缠舌头视频网站_国产黄免费_国产农村妇女三级全黄91_欧美级特黄AAAAAA片_av一级久久_国产呦在线沙发_尤物一区_欧美视频一区 99久久精品国语对白_国产小u女在线未发育_runaway动漫免费官网_国产精品一区二区久久久久_日韩国产高清视频_91操bb_亚洲一区二区三区影院_国产在线精品无码AV不卡顿 | 污污内射在线观看一区二区少妇_国产公开久久人人97超碰_免费无码一区二区三区A片_黄色在线观看视频_九色porny丨首页原版_国产超碰人人模人人爽人人喊_亚洲a∨成熟国产一区二区成熟一级毛片_亚洲午夜影院在线观看 | 成午夜精品一区二区三区_四虎精品国产永久在线观看_日韩女人一级_久久综合给合久久狠狠狠色97_日韩欧美精品一中文字幕_97碰碰碰人妻无码视频_国产熟妇搡BBBB搡BBBB_91久久99久久91熟女精品 | 欧美成aⅴ人高清WW_亚洲色大成网站WWW永久麻豆_成全视频免费高清观看在线动漫_亚洲VA在线VA天堂VA欧美VA_2023天天操_视屏一区_a视频免费观看_国产成人综合久久精品 | 国产午夜成人无码免费看不卡_精品va天堂亚洲国产_日日干日日干_久久国产人妻一区二区_成人午夜精品无码区久久_国产激情一区二区三区_欧洲美女与动zooz_亚洲国产精品SSS在线观看AV | 精品一区二区三区在线观看视频_久久性网站_在线观看亚洲一区二区_日韩国产精品激情一区_丁香五月激情综合激情综合激情_操老逼av_美女视频黄频A免费高清不卡_欧美日韩国产中文字幕 | 国产精品日韩一区二区三区_vps私人毛片_欧美younv交_免费观看韩国理论片_国产精品一二三区视频出来一_粉嫩饱饱鱼一线天在线观看_国模少妇一区二区三区咪咕_日日做夜狠狠爱欧美黑人 | 国产AV导航大全精品_日韩欧美综合在线_在线视频国产99_国产婷婷色一区二区三区在线_午夜免费啪视频观看视频_www.68pao.免费视频_久草伦理_精品久久久久久国产三级 | 日韩在线aaa_jizzyou中国少妇高潮_久久久综合亚洲色一区二区三区_免费看黄片毛片_久久千人斩_在线播放的av_少妇性饥渴姓交HDSEX_亚洲VA中文字幕无码毛片 | 老汉影院免费观看_69pao强力打造国产成人_久久日韩_亚洲色无码a片一区二区麻豆_福利片第一页_欧洲成人午夜免费大片_爱爱日本_亚洲欧美一区二区三区不卡 | 成人黄色av_国产精品99无码一区二区_久久免费视频3_日本www色_少妇激情艳情综合小视频_久久99久久99小草精品免视看_国产熟女精品一区二区_黄色影视网站 | 无码H黄肉3D动漫在线观看_午夜网站在线_av之家免费黄片_日本少妇裸体视频_中文字幕欧洲_色久天堂_国产成人欧美一区二区三区八_国产亚洲欧美一级 | 欧美一级大片免费看_在线日韩小视频_精品无码久久久久久尤物_一道本AV免费不卡播放_91麻豆产精品久久久久久_毛片91_99久久99久久久精品齐齐_无码人妻丰满熟妇奶水区码 久久亚洲免费视频_韩国一级黄色录像_国产极品美女到高潮_妺妺窝人体色WWW视频_日韩精品真人荷官无码_日韩AV无码一网二网三网_91亚洲精品久久久久图片蜜桃_segui88久久综合9999 | 无码中文字幕AV免费放软件_国产后式a一视频_色中文字幕在线_一区二区三区视频在线观看_亚洲影院久久_中文字幕在线观看2021_国产成人青草视频_亚洲精品永久中文字幕 | 亚洲肥老太bbw_久久夜靖品_成年无码专区在线蜜芽TV_免费在线一区二区三区_热久久久_av天天av_国内精品九九久久精品_国产精品情侣呻吟对白视频 | 亚洲不乱码卡一卡二卡4卡5_亚洲va中文字幕_免费观看黄色毛片_在线观看中文字幕码_操av在线_午夜福利理论片高清在线观看_国产精品伦视频观看免费_成人亚洲一区二区一 | 中日韩精品无码一区二区三区_国产精品福利视频一区_国产成人一区二区视频免费_国产精品麻豆视频国产馆_日本国产一区二区三区在线观看_free国产粉嫩熟妇xxxhd_国产精品无码久久综合_激情影院内射美女 | 91撸视频_自拍亚洲欧美老师丝袜_免费网站v片在线亚洲_国产天美传媒性色AV_亚洲精品成人影院_亚洲性精品_www.欧美日韩_av大片免费观看 | 护士被强女千到高潮视频_国产果冻豆传媒麻婆_狠狠五月深爱婷婷网_黄色大片入口_亚洲熟妇无码AV另类VR影视_日本成人手机在线_日韩高清不卡一区二区_人人做人人妻人人精 | 男人的天堂色_欧美日韩色_一性一交一伦一色一按—摩_久久婷婷五月综合色和啪_日本欧洲国产一区二区_www.色99_av网站播放_91影库_91影库免费视频-91影库影院 | 欧美日韩一区在线播放_亚洲高清人人爽夜夜爽AV毛片_亚洲成在人线aⅴ免费毛片_亚洲区一区二区_欧美破苞系列二十三_国产初高中生视频在线观看_午夜性又黄又爽免费看尤物_国产精品亚洲第一区在线暖暖韩国 | 91二区_第九色婷婷_澳门精品久久国产_一级特黄欧美_欧美日韩在线看片_亚洲欧美另类专区_国产情侣无套精品视频_中文字幕成人av | 欧美日韩一区在线播放_亚洲高清人人爽夜夜爽AV毛片_亚洲成在人线aⅴ免费毛片_亚洲区一区二区_欧美破苞系列二十三_国产初高中生视频在线观看_午夜性又黄又爽免费看尤物_国产精品亚洲第一区在线暖暖韩国 |