亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用好邏輯運(yùn)算符

        2017-11-07 09:03:22
        網(wǎng)絡(luò)安全和信息化 2017年11期
        關(guān)鍵詞:運(yùn)算符腳本表達(dá)式

        在Linux系統(tǒng)運(yùn)維工作中,Shell腳本編程是運(yùn)維人員必須掌握的一項(xiàng)基本技能。在大多數(shù)的Shell腳本中都需要進(jìn)行條件測(cè)試操作,從而使得腳本可以有選擇地執(zhí)行任務(wù)。本文介紹如何通過邏輯運(yùn)算符來同時(shí)測(cè)試多個(gè)條件,以及如何利用邏輯運(yùn)算符來連接多條命令,從而實(shí)現(xiàn)簡(jiǎn)單高效的選擇判斷操作。

        邏輯運(yùn)算符的基本用法

        通過邏輯運(yùn)算符可以同時(shí)測(cè)試多個(gè)條件,根據(jù)這些條件是否同時(shí)成立或者只要有其中一個(gè)條件成立等情況,來決定采取何種操作。邏輯運(yùn)算符有:

        * &&:邏 輯與,表示前后兩個(gè)條件都成立時(shí)整個(gè)測(cè)試結(jié)果才為真,否則結(jié)果為假。

        * ||:邏輯或,表示前后兩個(gè)條件至少有一個(gè)成立時(shí)整個(gè)測(cè)試結(jié)果即為真,否則結(jié)果為假。

        * !:邏輯非,表示當(dāng)指定的條件不成立時(shí),整個(gè)測(cè)試結(jié)果為真。

        邏輯運(yùn)算符的基本用法非常簡(jiǎn)單,比如判斷文件“/etc/passwd” 和“/etc/shadow”是否存在,要求兩個(gè)條件同時(shí)滿足,則可以使用下面的表達(dá)式,并通過查看“$?”的值來獲知測(cè)試結(jié)果,值為0表示條件成立,值為非0表示條件不成立。

        再比如要測(cè)試當(dāng)前用戶對(duì)文件“/etc/passwd”和“/etc/shadow”是否具有寫入權(quán)限,只要滿足其中一個(gè)條件即可,可以使用下面的表達(dá)式。

        邏輯運(yùn)算符連接多條命令

        除了同時(shí)測(cè)試多個(gè)條件之外,邏輯運(yùn)算符“&&”和“||”通常也用于間隔不同的命令操作,這也是本文要重點(diǎn)介紹的內(nèi)容。比如表達(dá)式“command1 && command2”,在這個(gè)表達(dá)式中,如果command1的測(cè)試結(jié)果為假,那么command2就不會(huì)再執(zhí)行。因?yàn)閷?duì)于邏輯與操作,只要有一個(gè)測(cè)試條件不成立,那么整個(gè)測(cè)試結(jié)果也就必然為假,因而此時(shí)就無需再去判斷command2是否成立。反之,如果command1的測(cè)試結(jié)果為真,則command2就必須執(zhí)行。

        如果使用邏輯運(yùn)算符“||”來連接兩個(gè)命令,情況又是不同。比如表達(dá)式“command1 || command2”,在這個(gè)表達(dá)式中,如果command1的測(cè)試結(jié)果為真,則command2不再執(zhí)行。因?yàn)閷?duì)于邏輯或操作,只要有一個(gè)測(cè)試條件成立,那么整個(gè)測(cè)試結(jié)果就必然為真,因而此時(shí)也無需再去判斷command2是否為真。反之,如果command1的測(cè)試結(jié)果為假,則command2必須執(zhí)行。

        因而,對(duì)于“&&”和“||”的特點(diǎn)可以總結(jié)如下:

        * &&,當(dāng)前面的命令執(zhí)行成功后才會(huì)執(zhí)行后面的命令;

        * ||,當(dāng)前面的命令執(zhí)行失敗后才會(huì)執(zhí)行后面的命令。

        實(shí)例演示

        下面是幾個(gè)具體的應(yīng)用實(shí)例。

        例:判斷當(dāng)前的用戶是否是teacher,若不是則提示“Not teacher”。

        同樣是上面這個(gè)操作,我們切換到teacher用戶再來試一下。

        在這三個(gè)邏輯運(yùn)算符中,“&&”尤為常用。比如要查看一個(gè)條件表達(dá)式的測(cè)試結(jié)果,如果通過查看預(yù)定義變量“$?”的值來進(jìn)行判斷,操作繁瑣,輸出結(jié)果也不是很直觀。為了更便于查看條件測(cè)試操作的結(jié)果,通常都是將“&&”和echo命令一起使用,當(dāng)條件成立時(shí)直接輸出“yes”。

        例:判斷文件“/dev/cdrom”是否存在,如果存在,則直接輸出yes。

        例:只 要“/etc/rc.d/rc.local”或者“/etc/init.d/rc.local”中有一個(gè)是文件,則顯示“YES”,否則無任何輸出。

        例:測(cè) 試“/etc/profile”文件是否有可執(zhí)行權(quán)限,若確實(shí)沒有可執(zhí)行權(quán)限,則提示“No x mode”的信息。

        例:若當(dāng)前用戶是root且使用的shell程序是“/bin/bash”,則顯示“yes”,否則無任何輸出。

        下面來編寫一個(gè)具體的腳本,要實(shí)現(xiàn)的功能是刪除“/root/test”目錄中的test-1、test-2……test-10文件,但是test-3和test-7除外。

        在腳本中用到了for循 環(huán) 和continue語 句,continue語句在for循環(huán)中用于暫停本次操作,跳轉(zhuǎn)至循環(huán)語句的頂部重新測(cè)試條件,本次執(zhí)行過程中continue后的命令序列將被忽略。

        因而,靈活運(yùn)用 “&&”和“||”這兩個(gè)邏輯運(yùn)算符,在很多時(shí)候就可以代替復(fù)雜的if語句,從而使得我們的Shell腳本更加簡(jiǎn)捷高效。

        猜你喜歡
        運(yùn)算符腳本表達(dá)式
        酒駕
        老祖?zhèn)魇诨具\(yùn)算符
        安奇奇與小cool 龍(第二回)
        一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
        表達(dá)式轉(zhuǎn)換及求值探析
        淺析C語言運(yùn)算符及表達(dá)式的教學(xué)誤區(qū)
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        快樂假期
        C++運(yùn)算符重載剖析
        表達(dá)式求值及符號(hào)推導(dǎo)
        日本免费精品一区二区| 国产成人乱色伦区小说| 永久免费的拍拍拍网站| 久久精品国产亚洲av网站| 无码人妻丰满熟妇啪啪网不卡| 国产91色综合久久高清| 国产精品精品自在线拍| 亚洲欧洲日产国码无码久久99| www.av在线.com| 极品少妇人妻一区二区三区 | 亚洲日韩国产精品乱-久| 草莓视频一区二区精品| 五月天亚洲av优女天堂| 亚洲av午夜一区二区三| 日日摸天天碰中文字幕你懂的| 吃奶摸下的激烈视频| av无码一区二区三| 久久想要爱蜜臀av一区二区三区| 日本少妇浓毛bbwbbwbbw| 无遮高潮国产免费观看| 国产一区二区三区杨幂| 女同性恋一区二区三区av| 亚洲人成77777在线播放网站| 亚洲成a人片在线观看久| 国产大片在线观看三级| 日韩精品中文一区二区三区在线| 天天天天躁天天爱天天碰| 国产高清精品自在线看| 老熟妇高潮av一区二区三区啪啪| 精品国产日韩亚洲一区在线| 国产亚洲精品国产精品| 亚洲人成网址在线播放| 精品一区二区av天堂| 91精品福利一区二区三区| 久久精品国产亚洲av麻豆长发| 亚洲欧美日韩国产综合一区二区| 精品国产日韩无 影视| 亚洲人成网站色在线入口口| 西西人体444www大胆无码视频| 91啦视频在线观看| 日本中文字幕有码在线播放|