九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SHELL編程之條件測試

條件測試

(一)概念:對特定的條件進行判斷,以決定如何執(zhí)行操作,當(dāng)條件成立時,測試語句的返回值為0,否則為其他數(shù)值,意思就是如果 echo $? 的值是0,那么條件成立。條件測試的分類:文件測試、整數(shù)測試、字符串測試、邏輯測試。

  測試方法:

      方法1:test 條件表達(dá)式

      方法2:[  條件表達(dá)式  ]

(二)測試方法:

1.文件測試

格式1:  [  操作符 文件或目錄  ]  

格式2:test  操作符 文件或目錄 

常用的測試操作符

    -d :測試是否為目錄( Directory )

    -e :測試目錄或文件是否存在(Exist)

    -f :測試是否為文件(File)

    -r :測試當(dāng)前用戶是否可讀(read)

    -w:測試當(dāng)前用戶是否可寫(write)

    -x :測試當(dāng)前用戶是否可執(zhí)行(excute)

1 [root@NEW1 ~]# [ -d /media/cdrom ]    #注意這里中括號里需要和內(nèi)容有空格2 [root@NEW1 ~]# echo $?                # 如果測試條件不成立,返回數(shù)字為非03 14 [root@NEW1 ~]# [ -d /root ]5 [root@NEW1 ~]# echo $?6 07 [root@NEW1 ~]# test -d /root && echo “yes”  8 “yes”9 #最后一個語句的意思是如果前面條件測試成立,則輸出yes,應(yīng)用原理:&&是一個''邏輯與''運算符,前面為真,后面為真,整個語句才為真,當(dāng)左面為真,就會繼續(xù)觸發(fā)邏輯與,繼續(xù)判斷右面才知道整個語句是否為真,所以才能輸出 yes。

 2、整數(shù)測試

格式1:[ 整數(shù)1 操作符 整數(shù)2 ]

格式2: test 整數(shù)1 操作符 整數(shù)2

常用的測試操作符

    -eq : 等于 (Equal)

    -ne : 不等于 (Not Equal)

    -gt : 大于(Greater Than)

    -lt : 小于 (Lesser Than)

    -le : 小于或等于(Lesser or Equal)

    -ge : 大于或等于(Greater or Equal)

1 [root@NEW1 ~]# who2 root tty1 2016-11-04 09:59 (:0)3 root pts/0 2016-11-04 09:59 (:0.0)4 [root@NEW1 ~]# who | wc -l5 26 [root@NEW1 ~]# [ $(who | wc -l) -gt 1 ] && echo ''too many.''7 too many.

 3、字符串測試

格式1:[ 字符串1 = 字符串2 ]

     [ 字符串1 != 字符串2 ]

格式2:[ -z 字符串 ]

常用的測試操作符

  = : 字符串內(nèi)容相同

  != : 字符串內(nèi)容不同

  -z : 字符串內(nèi)容為空

 1 [root@NEW1 ~]# [ aaa = aaa ]         #判斷兩個字符串是否相等 2 [root@NEW1 ~]# echo $? 3 0 4 [root@NEW1 ~]# [ aaa != aaa ] 5 [root@NEW1 ~]# echo $? 6 1 7 [root@NEW1 ~]# [ -z '']               #引號里沒有字符串,為空 8 [root@NEW1 ~]# echo $? 9 010 [root@NEW1 ~]# [ -z 'aaa' ]           #引號里有字符串,不為空11 [root@NEW1 ~]# echo $?12 1
 1 [root@NEW1 ~]# read -p "請輸入用戶名: "  name               #提示用戶輸入字符串,并賦值給name變量 2 請輸入用戶名:                                               #用戶直接回車,沒有輸入 3 [root@NEW1 ~]# [ -z $name ]                               #判斷name變量是否為空 4 [root@NEW1 ~]# echo $? 5 0                                       #name為空,判斷成立,顯示0 6 [root@NEW1 ~]# read -p "請輸入用戶名: " name 7 請輸入用戶名: Mr.Mangood 8 [root@NEW1 ~]# [ -z $name ] 9 [root@NEW1 ~]# echo $?10 1 
1 [root@NEW1 ~]# echo $LANG                                 #查看 LANG 語言變量2 zh_CN.UTF-83 [root@NEW1 ~]# [ $LANG != "en.US" ] && echo "Not en.US"   #如果LANG不為en.US,則輸出提示,考察的也是$變量的用法4 Not en.US

 4、邏輯測試

格式:

  [ 表達(dá)式 ]  操作符 [ 表達(dá)式2 ] ……

  命令1  操作符  命令2 ……

常用的操作符 ( 注意:-a和-o放在[]里面用,&&和||放在[]外面用 )

    -a  或  &&          邏輯與

    -o  或 ||             邏輯或

     ??!               邏輯否

1 [root@NEW1 ~]# [ -d /etc ] && [ -r /etc ] && echo "you can open it"2 you can open it3 [root@NEW1 ~]# [ -d /etc ] || [ -d /home ] && echo "OK" 4 OK
1 [root@NEW1 ~]# [ -d /etc ] || echo "測試或運算符當(dāng)左邊為真時,還是否執(zhí)行右面"2 [root@NEW1 ~]# echo $?                                                   #左側(cè)為真,不執(zhí)行右側(cè)echo部分3 0                                                                        #整體為真,因此輸出0
1 [root@NEW1 ~]# [ 2 -eq 2 -a 3 -eq 4 ] && [ -d /etc ]2 [root@NEW1 ~]# echo $?3 14 5 [root@NEW1 ~]# [ 2 -eq 2 -o 3 -eq 4 ] && [ -d /etc ]6 [root@NEW1 ~]# echo $?7 0

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
「shell入門到精通」 一文帶你熟悉shell腳本的各種表達(dá)式
shell 邏輯運算符
shell中if做比較
linux中的(),(()),[],[[]],{}的作用
Shell中[和[[的異同
Shell 中的中括號用法總結(jié)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服