亚洲免费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无码免费| 久久99国产伦精品免费| 中文字幕亚洲精品第一页| 99久久国内精品成人免费| 国产精品久线在线观看| 九九热在线视频观看这里只有精品| 国产亚洲精选美女久久久久| 免费视频亚洲一区二区三区| 国产a∨天天免费观看美女| 久久精品无码专区免费青青| 久久一日本道色综合久久大香| 手机在线国产福利av| 成人无码一区二区三区| 亚洲国产激情一区二区三区| 国产精品av在线一区二区三区 | 在线精品一区二区三区| 欧美伊人亚洲伊人色综| 久久精品国产亚洲av成人网| 完整版免费av片| 久久久天堂国产精品女人| 国产成人免费一区二区三区| 白白色发布视频在线播放| 亚洲va久久久噜噜噜久久天堂| 老熟妻内射精品一区| 亚洲AV无码一区二区一二区色戒 | 国产精品麻豆一区二区三区| 久久精品国产亚洲av麻豆色欲| 一本色道av久久精品+网站 | 久久天天躁夜夜躁狠狠躁2022| 亚洲va精品va国产va| 美女在线一区二区三区视频| 幻女bbwxxxx在线视频| 在线精品日韩一区二区三区| 亚洲综合小综合中文字幕| 在线亚洲高清揄拍自拍一品区| 国产成人精品无码播放| 日本精品国产1区2区3区| 亚洲中文字幕久久精品品| 少妇高潮惨叫正在播放对白| 粉嫩高中生无码视频在线观看|