linux基礎之條件測試


關鍵詞: 數值測試  字符串測試  文件測試

測試命令有三種方式:

   test EXPRESSION 
  [ EXPRESSION ]
  [[ EXPRESSION ]]
    注意:EXPRESSION前后有空白字符

bash的測試類型

  數值測試  

       -gt: 是否大於
     -ge:是否大於等於
    -lt: 是否小於
    -le: 是否小於等於
    -eq: 是否等於
    -ne: 是否不等於            

  字符串測試    

==: 是否等於
>: 是否大於
<: 是否小於
!= : 是否不等於
~=: 左側字符串是否能夠被右側的PATTERN所匹配到
        Note:此種表達式一般用於[[]]中
-z "STRING" : 測試字符串是否為空,空則為真,不空為假
-n "STRING": 測試字符串是不不空,不空則為真,空則為假
        Note: 字符串比較時用到的操作數都應該使用引號

  文件測試

存在性測試
    -a FILE
    -e FILE: 文件存在性測試,存在為真,否則為假
存在性及類別測試    
    -b FILE: 是否存在且為塊設備文件
    -c FILE: 是否存在且為字符設備文件
    -d FILE: 是否存在且為目錄文件
    -f FILE : 是否存在且為普通文件
    -h FILE 或 -L FILE: 是否存在且為符號鏈接文件
    -p FILE: 是否存在且為管道文件
    -S FILE: 是否存在且為套接字文件
文件權限測試
    -r FILE : 是否存在且可讀
    -w FILE : 是否存在且可寫
    -x FILE : 是否存在且可執行
文件特殊權限測試:
    -g FILE: 是否存在且擁有sgid權限
    -u FILE: 是否存在且擁有suid權限
    -k FILE:是否存在且擁有sticky權限
文件大小測試
    -s FILE: 是否存在且非空
文件是否打開
    -t fd: fd表示文件描述符是否已經打開且與某終端相關
    -N FILE:文件自動上次被讀取之后是否被修改過
    -O FILE: 當前用戶是否為文件的屬主
    -G FIEL: 當前用戶是否為文件屬組
雙目測試
    FILE1    -ef    FILE2 : FILE1 與 FILE2 是否指向同一個設備上的inode
    FILE1    -nt    FILE2 : FILE1 是否 新於 FILE2
    FILE1    -ot    FILE2 : FILE1 是否 舊於 FILE2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM