shell 判斷表示式整理

2021-09-01 20:17:32 字數 2094 閱讀 7617

[ -a file ]  如果 file 存在則為真。  

[ -b file ]  如果 file 存在且是乙個塊特殊檔案則為真。  

[ -c file ]  如果 file 存在且是乙個字特殊檔案則為真。  

[ -d file ]  如果 file 存在且是乙個目錄則為真。  

[ -e file ]  如果 file 存在則為真。  

[ -f file ]  如果 file 存在且是乙個普通檔案則為真。  

[ -g file ]  如果 file 存在且已經設定了sgid則為真。  

[ -h file ]  如果 file 存在且是乙個符號連線則為真。  

[ -k file ]  如果 file 存在且已經設定了粘制位則為真。  

[ -p file ]  如果 file 存在且是乙個名字管道(f如果o)則為真。  

[ -r file ]  如果 file 存在且是可讀的則為真。  

[ -s file ]  如果 file 存在且大小不為0則為真。  

[ -t fd ]  如果檔案描述符 fd 開啟且指向乙個終端則為真。  

[ -u file ]  如果 file 存在且設定了suid (set user id)則為真。  

[ -w file ]  如果 file 如果 file 存在且是可寫的則為真。  

[ -x file ]  如果 file 存在且是可執行的則為真。  

[ -o file ]  如果 file 存在且屬有效使用者id則為真。  

[ -g file ]  如果 file 存在且屬有效使用者組則為真。  

[ -l file ]  如果 file 存在且是乙個符號連線則為真。  

[ -n file ]  如果 file 存在 and has been mod如果ied since it was last read則為真。  

[ -s file ]  如果 file 存在且是乙個套接字則為真。  

[ file1 -nt file2 ]  如果 file1 has been changed more recently than file2, or 如果 file1 exists and file2 does not則為真。  

[ file1 -ot file2 ]  如果 file1 比 file2 要老, 或者 file2 存在且 file1 不存在則為真。  

[ file1 -ef file2 ]  如果 file1 和 file2 指向相同的裝置和節點號則為真。  

[ -o optionname ]  如果 shell選項 「optionname」 開啟則為真。  

[ -z string ]  「string」 的長度為零則為真。  

[ -n string ] or [ string ]  「string」 的長度為非零 non-zero則為真。  

[ string1 == string2 ]  如果2個字串相同。 「=」 may be used instead of 「==」 for strict posix compliance則為真。  

[ string1 != string2 ]  如果字串不相等則為真。 

[ string1 < string2 ]  如果 「string1」 sorts before 「string2」 lexicographically in the current locale則為真。  

[ string1 > string2 ]  如果 「string1」 sorts after 「string2」 lexicographically in the current locale則為真。  

[ arg1 op arg2 ] 「op」 is one of -eq, -ne, -lt, -le, -gt or -ge. these arithmetic binary operators return true if 「arg1」 is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to 「arg2」, respectively. 「arg1」 and 「arg2」 are integers. 

from:

Shell 表示式判斷

表示式放到 中 檔案表示式 e filename 如果 filename存在,則為真 d filename 如果 filename為目錄,則為真 f filename 如果 filename為常規檔案,則為真 l filename 如果 filename為符號鏈結,則為真 r filename 如果...

shell 正規表示式詳細整理

匹配前面的子表示式零次或一次。等價於 n 是乙個非負整數,匹配確定的n 次。n 是乙個非負整數,至少匹配n 次。m 和 n 均為非負整數,其中n m。最少匹配 n 次且最多匹配 m 次。在逗號和兩個數之間不能有空格。當該字元緊跟在任何乙個其他限制符 後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹...

shell邏輯判斷式與表示式

邏輯卷標 表示意思 1.關於檔案與目錄的偵測邏輯卷標!f常用!偵測 檔案 是否存在 eg if f filename d 常用!偵測 目錄 是否存在 b偵測是否為乙個 block 檔案 c偵測是否為乙個 character 檔案 s 偵測是否為乙個 socket 標籤檔案 l 偵測是否為乙個 sym...