shell 判斷文件夾或文件是否存在

文件比較符bash

-e filename  若是 filename存在,則爲真  [ -e /var/log/syslog ]ide

-d filename  若是 filename爲目錄,則爲真  [ -d /tmp/mydir ]spa

-f filename  若是 filename爲常規文件,則爲真  [ -f /usr/bin/grep ]it

-L filename  若是 filename爲符號連接,則爲真  [ -L /usr/bin/grep ]class

-r filename  若是 filename可讀,則爲真  [ -r /var/log/syslog ]test

-w filename  若是 filename可寫,則爲真  [ -w /var/mytmp.txt ]file

-x filename  若是 filename可執行,則爲真  [ -L /usr/bin/grep ]service

filename1-nt filename2  若是 filename1比 filename2新,則爲真  [ /tmp/install/etc/services -nt /etc/services ]grep

filename1-ot filename2  若是 filename1比 filename2舊,則爲真  [ /boot/bzImage -ot arch/i386/boot/bzImage ]di


文件夾不存在則建立

if [ ! -d "/data/" ];then
mkdir /data
else
echo "文件夾已經存在"
fi


文件存在則刪除

if [ ! -f "/data/filename" ];then
echo "文件不存在"
else
rm -rf /data/filename
fi


判斷文件夾是否存在

if [ -d "/data/" ];then
echo "文件夾存在"
else
echo "文件夾不存在"
fi


判斷文件是否存在

if [ -d "/data/test" ];then
echo "文件存在"
else
echo "文件不存在"
fi
相關文章
相關標籤/搜索