【Linux_Shell 腳本編程學習筆記1、條件表達式】

條件表達式返回的結果都爲布爾型shell

  真爲1,假爲0express

條件測試的表達式

  [expression]測試

 

 

 

比較符blog

  整數比較io

  -eq:比較兩個整數是否相等,$A -eq $Btest

  -ne:測試兩個整數是否不等,不等則爲真,等則爲假變量

  -gt:大於爲真,小於爲假權限

  -lt:小於爲真,大於爲假im

  -ge:大於或者等於腳本

  -le:小於或者等於

  

  -e  File  測試文件是否存在

  -f  File  測試文件是不是普通文件

  -d  File 測試指定路徑是不是目錄

  -r  File 測試文件是否有寫的權限

  -w  File 測試文件是否有寫的權限

  -x  File測試文件是否有執行的權限

  -z:判斷指定的變量是否存在值

  -n:測試字符是否爲空 非空爲真(0)

  -s:文件的大小非0時爲真

  !:邏輯非

 雙目:

  == 相等爲真

  != 不等爲真

  >  大於爲真

  <  小於爲真

  -a:邏輯與   都爲真才爲真

  -o:邏輯或  一個爲真就爲真

 

test expression  

  expression爲條件表達式

  if test  (表達式爲真) 
  if test !表達式爲假 
  test 表達式1 –a 表達式2                  兩個表達式都爲真 
  test 表達式1 –o 表達式2                 兩個表達式有一個爲真 

摩根定律

  !(A  -a  B)= !A  -o  !B

  !(A  -o  B)= !A  -a  !B

邏輯符

 &&:邏輯與,都爲真則爲真 

  若是第一個條件是真的,須要對第二個條件進行判斷

  若是第一個條件是假的,不須要對第二個條件進行判斷,結果已經肯定爲假。

 ||:邏輯或,一個爲真則爲真 

  當第一個條件爲真的時候,不在去判斷第二條件,由於第一個表達式已經決定了整個表達式爲真

  只有當第一個表達式爲假的時候纔回去判斷第二個表達式

 

 

 

操做實例:

  建立兩個文件,一個是普通文件類型,另外一個是文件目錄

     

 

  執行條件表達式   

     

  定義一個變量,將文件賦值給變量,而後經過條件表達式判斷該文件是否存在 (補充: 使用變量的時候最好是加上雙引號 " ")

    

  

  編輯腳本

    

  若是執行shell腳本時,後面跟着的參數的值  爲 3  才能輸出3個1,其餘則不輸出

    

 

  在修改腳本,將&& 鏈接符號改爲 ||  

        

  執行腳本    當只有前面的條件不成立,後面的條件才執行

   

   下面圖中的語句  [ -f /etc/host ] && { echo 1; echo 2; echo3 ;}         

      

  與之相等價的語句是

    if  [ 條件 ]

    then  

      執行的命令

      命令

    fi

 

    這條語句就是條件不成立時候執行的   [ -d /etc/hosts ] || { echo 1;echo 2;echo 3;}

      

相關文章
相關標籤/搜索