在linux shell中,可以利用if語(yǔ)句和“-e filename”表達(dá)式來(lái)判斷文件是否存在,具體語(yǔ)法“if [-e filename]; then echo "文件存在"; else echo "文件不存在"; fi”。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
判斷文件的基本格式。[ 操作符 文件或目錄 ]
-
-e filename 如果 filename存在,則為真
-
-d filename 如果 filename為目錄,則為真
-
-f filename 如果 filename為常規(guī)文件,則為真
-
-L filename 如果 filename為符號(hào)鏈接,則為真
-
-r filename 如果 filename可讀,則為真
-
-w filename 如果 filename可寫(xiě),則為真
-
-x filename 如果 filename可執(zhí)行,則為真
-
-s filename 如果文件長(zhǎng)度不為0,則為真
-
-h filename 如果文件是軟鏈接,則為真
常用例子
如果存在某文件,則刪除
if [ -f trials ]; then rm ${result_path}trials; fi
如果沒(méi)有文件夾,則創(chuàng)建
if [ ! -d $result_name ];then mkdir -p $result_name fi
shell命令判斷文件或文件夾是否存在,先直接看實(shí)例:
#!/bin/sh #判斷文件存在,判斷是否為文件夾等 testPath="/Volumes/MacBookProHD/Mr.Wen/08 shell命令" testFile="/Volumes/MacBookProHD/Mr.Wen/08 shell命令/fileWen" #判斷文件夾是否存在 -d if [[ ! -d "$testPath" ]]; then echo "文件夾不存在" else echo "文件夾存在" fi #判斷文件夾是否存在,并且具有可執(zhí)行權(quán)限 if [[ ! -x "$testFile" ]]; then echo "文件不存在并且沒(méi)有可執(zhí)行權(quán)限" else echo "文件存在并有可執(zhí)行權(quán)限" fi #判斷文件是否存在 if [-e "$testFile"]; then echo "文件不存在" else echo "文件存在" fi