1. 程式人生 > >if 判斷檔案、目錄屬性

if 判斷檔案、目錄屬性

[ -f file ]判斷是否是普通檔案,是否存在

#!/bin/bash
f="/tmp/1.txt"            #定義變數
if [ -f $f ]              #如果變數f存在,且是個普通檔案
then                      #那麼
    echo $f  exist        #echo $f  exist
else                      #否則
    touch $f              #建立這個檔案
fi

if 判斷檔案、目錄屬性

[ -d file ] 判斷是否是目錄,是否存在

#!/bin/bash
f="/tmp/1.txt"            #定義變數
if [ -d $f ]              #如果變數f存在,且是個目錄
then                      #那麼
    echo $f  exist        #echo $f  exist
else                      #否則
    touch $f              #建立這個檔案
fi

[ -e file ] 判斷檔案或目錄是否存在

#!/bin/bash
f="/tmp/1.txt"            #定義變數
if [ -e $f ]              #如果變數f是否存在
then                      #那麼
    echo $f  exist        #echo $f  exist
else                      #否則
    touch $f              #建立這個檔案
fi

[ -r file ] 判斷檔案是否可讀

#!/bin/bash
f="/tmp/1.txt"            #定義變數
if [ -r $f ]              #如果變數f是否可讀
then                      #那麼
    echo $f  exist        #echo $f  exist
else                      #否則
    touch $f              #建立這個檔案
fi

[ -w file ] 判斷檔案是否可寫

#!/bin/bash
f="/tmp/1.txt"            #定義變數
if [ -w $f ]              #如果變數f是否可寫
then                      #那麼
    echo $f  exist        #echo $f  exist
else                      #否則
    touch $f              #建立這個檔案
fi

[ -x file ] 判斷檔案是否可執行

#!/bin/bash
f="/tmp/1.txt"            #定義變數
if [ -x $f ]              #如果變數f是否可執行
then                      #那麼
    echo $f  exist        #echo $f  exist
else                      #否則
    touch $f              #建立這個檔案
fi

-----

#!/bin/bash
f="/tmp/1.txt"
[ -f $f ]  &&  rm -f $f           #判斷檔案是否存在,存在則刪除        &&表示當前面得命令,執行成功得時候,才會執行後面得命令

注意項:

[ -f  $f ]  &&  rm -f  $f   寫法等於
if [ -f  $f ]    #如果檔案存在
then             #那麼
    rm -f  $f    #刪除這個檔案
fi

if [ ! -f  $f ]    #!表示取反,意思不存在。