日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

if的条件表达式

發布時間:2023/12/13 综合教程 35 生活家
生活随笔 收集整理的這篇文章主要介紹了 if的条件表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常用的:
[ -a FILE ] 如果 FILE 存在則為真。
[ -d FILE ] 如果 FILE 存在且是一個目錄則返回為真。
[ -e FILE ] 如果 指定的文件或目錄存在時返回為真。
[ -f FILE ] 如果 FILE 存在且是一個普通文件則返回為真。
[ -r FILE ] 如果 FILE 存在且是可讀的則返回為真。
[ -w FILE ] 如果 FILE 存在且是可寫的則返回為真。(一個目錄為了它的內容被訪問必然是可執行的)
[ -x FILE ] 如果 FILE 存在且是可執行的則返回為真。

條件表達式 意義
1.文件類檢測,例如[ -e /tmp/a.log ]。如非特別說明,則所有文件類操作都會追蹤到軟鏈接的源文件。
-e file 文件是否存在(exist)
-f file 文件是否存在且為普通文件(file)
-d file 文件是否存在且為目錄(directory)
-b file 文件是否存在且為塊設備block device
-c file 文件是否存在且為字符設備character device
-S file 文件是否存在且為套接字文件Socket
-p file 文件是否存在且為命名管道文件FIFO(pipe)
-L file 文件是否存在且是一個鏈接文件(Link)
2. 文件屬性檢測,如test -r /tmp/a.log。如非特別說明,則所有文件類操作都會追蹤到軟鏈接的源文件。
-r file 文件是否存在且當前用戶可讀
-w file 文件是否存在且當前用戶可寫
-x file 文件是否存在且當前用戶可執行
-u file 文件是否存在且設置了SUID
-g file 文件是否存在且設置了SGID
-k file 文件是否存在且設置了sbit(sticky bit)
-s file 文件是否存在且大小大于0字節,即用于檢測文件是否為非空白文件
-N file 文件是否存在,且自上次read后是否被modify
3. 兩個文件之間的比較,如:test file1 -nt file2
file1 -nt file2 (newer than)判斷file1是否比file2新
file1 -ot file2 (older than)判斷file1是否比file2舊
file1 -ef file2 (equal file)判斷file2與file2是否為同一文件,可用在判斷hard link的判定上。主要意義在判定,兩個文件是否均指向同一個分區上的同一個inode
4. 兩個整數之間的判定,支持正負數,但不支持小數。例如test n1 -eq n2
int1 -eq int2 兩數值相等(equal)
int1 -ne int2 兩數值不等(not equal)
int1 -gt int2 n1大于n2(greater than)
int1 -lt int2 n1小于n2(less than)
int1 -ge int2 n1大于等于n2(greater than or equal)
int1 -le int2 n1小于等于n2(less than or equal)
5. 判定字符串
-z string (zero)判定字符串是否為空?若string為空字符串,則為true
-n string 判定字符串是否非空?若string為空字符串,則false。注:-n可省略
string1 = string2 string1 == string2 string1和string2是否相同。相同則返回true。"=="和"="等價,但"="可移植性更好
str1 != str2 str1是否不等于str2,若不等,則返回true
str1 > str2 str1字母順序是否大于str2,若大于,則返回true
str1 < str2 str1字母順序是否小于str2,若小于,則返回true
6.邏輯運算符,例如:test -r filename -a -x filename
-a或&& (and)兩表達式同時為true時才為true。"-a"只能在test或[]中使用,&&只能在[[]]中使用
-o或|| (or)兩表達式任何一個true則為true。"-o"只能在test或[]中使用,||只能在[[]]中使用
[ ! EXPR ] 對表達式取反
( ) 用于改變表達式的優先級,為了防止被shell解析,應該加上反斜線轉義()
[ ] || [ ] 用OR來合并兩個條件
[ ] && [ ] 用AND來合并兩個條件

忘記參考的哪兒了,請見諒

總結

以上是生活随笔為你收集整理的if的条件表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。