if 判斷檔案、目錄屬性
阿新 • • 發佈:2018-12-29
[ -f file ]判斷是否是普通檔案,是否存在
#!/bin/bash
f="/tmp/1.txt" #定義變數
if [ -f $f ] #如果變數f存在,且是個普通檔案
then #那麼
echo $f exist #echo $f exist
else #否則
touch $f #建立這個檔案
fi
[ -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 ] #!表示取反,意思不存在。