文件測試運(yùn)算符用于檢測 Unix 文件的各種屬性。
屬性檢測描述如下:
操作符 | 說明 | 舉例 |
---|---|---|
-b file | 檢測文件是否是塊設(shè)備文件,如果是,則返回 true。 | [ -b $file ] 返回 false。 |
-c file | 檢測文件是否是字符設(shè)備文件,如果是,則返回 true。 | [ -c $file ] 返回 false。 |
-d file | 檢測文件是否是目錄,如果是,則返回 true。 | [ -d $file ] 返回 false。 |
-f file | 檢測文件是否是普通文件(既不是目錄,也不是設(shè)備文件),如果是,則返回 true。 | [ -f $file ] 返回 true。 |
-g file | 檢測文件是否設(shè)置了 SGID 位,如果是,則返回 true。 | [ -g $file ] 返回 false。 |
-k file | 檢測文件是否設(shè)置了粘著位(Sticky Bit),如果是,則返回 true。 | [ -k $file ] 返回 false。 |
-p file | 檢測文件是否是有名管道,如果是,則返回 true。 | [ -p $file ] 返回 false。 |
-u file | 檢測文件是否設(shè)置了 SUID 位,如果是,則返回 true。 | [ -u $file ] 返回 false。 |
-r file | 檢測文件是否可讀,如果是,則返回 true。 | [ -r $file ] 返回 true。 |
-w file | 檢測文件是否可寫,如果是,則返回 true。 | [ -w $file ] 返回 true。 |
-x file | 檢測文件是否可執(zhí)行,如果是,則返回 true。 | [ -x $file ] 返回 true。 |
-s file | 檢測文件是否為空(文件大小是否大于0),不為空返回 true。 | [ -s $file ] 返回 true。 |
-e file | 檢測文件(包括目錄)是否存在,如果是,則返回 true。 | [ -e $file ] 返回 true。 |
#!/bin/bash # author:菜鳥教程 # url:www.runoob.com file="/var/www/runoob/test.sh" if [ -r $file ] then echo "文件可讀" else echo "文件不可讀" fi if [ -w $file ] then echo "文件可寫" else echo "文件不可寫" fi if [ -x $file ] then echo "文件可執(zhí)行" else echo "文件不可執(zhí)行" fi if [ -f $file ] then echo "文件為普通文件" else echo "文件為特殊文件" fi if [ -d $file ] then echo "文件是個(gè)目錄" else echo "文件不是個(gè)目錄" fi if [ -s $file ] then echo "文件不為空" else echo "文件為空" fi if [ -e $file ] then echo "文件存在" else echo "文件不存在" fi
執(zhí)行腳本,輸出結(jié)果如下所示:
文件可讀 文件可寫 文件可執(zhí)行 文件為普通文件 文件不是個(gè)目錄 文件不為空 文件存在
全國職稱計(jì)算機(jī)考試速成過關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書籍 | |
全國職稱計(jì)算機(jī)考試速成過關(guān)系列套裝:W .. 定價(jià):¥124 優(yōu)惠價(jià):¥124.0 更多書籍 |