Linux - 判斷檔案/目錄是否存在/具有許可權

襲冷發表於2014-03-30

一、示例

#!/bin/sh

myPath="/var/log/httpd/"
myFile="/var /log/httpd/access.log"

# 這裡的-x 引數判斷$myPath是否存在並且是否具有可執行許可權
if[ ! -x "$myPath"]; then
    mkdir"$myPath"
fi

# 這裡的-d 引數判斷$myPath是否存在
if[ ! -d "$myPath"]; then
    mkdir"$myPath"
fi

# 這裡的-f引數判斷$myFile是否存在
if[ ! -f "$myFile"]; then
    touch"$myFile"
fi

# 其他引數還有-n,-n是判斷一個變數是否是否有值
if[ ! -n "$myVar"]; then
    echo"$myVar is empty"
exit0
fi

# 兩個變數判斷是否相等
if[ "$var1"= "$var2"]; then
    echo'$var1 eq $var2'
else
    echo'$var1 not eq $var2'
fi

二、常用判定符

   -a :檔案存在
   -b :檔案存在並且是一塊特殊檔案
   -c :檔案存在並且是一個字元特殊檔案.
   -d :檔案存在並且是一個目錄
   -e :檔案存在(如 -a 一樣)
   -f :檔案存在並且是一個普通檔案
   -L :檔案存在並且是符號連結.
   -n :字串長度不為零.
   -s :檔案已存在,並且大小大於零.
   -w :檔案存在並且是由當前程式可寫.
   -x :檔案存在並且是可執行的過程.
   -z :字串的長度是零



相關文章