文件比較符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