標籤:des blog http io ar 檔案 div sp log
Shell判斷檔案是否存在 #!/bin/sh#shell判斷檔案,目錄是否存在或者具有許可權myPath="/var/log/httpd/"myFile="/var /log/httpd/access.log" # 這裡的-x 參數判斷$myPath是否存在並且是否具有可執行許可權if [ ! -x "$myPath"]; thenmkdir "$myPath"fi # 這裡的-d 參數判斷$myPath是否存在if [ ! -d "$myPath"]; thenmkdir "$myPath"fi # 這裡的-f參數判斷$myFile是否存在if [ ! -f "$myFile" ]; thentouch "$myFile"fi # 其他參數還有-n,-n是判斷一個變數是否是否有值if [ ! -n "$myVar" ]; thenecho "$myVar is empty"exit 0fi # 兩個變數判斷是否相等if [ "$var1" = "$var2" ]; thenecho ‘$var1 eq $var2‘elseecho ‘$var1 not eq $var2‘fi-f 和-e的區別Conditional Logic on Files-a file exists.-b file exists and is a block special file.-c file exists and is a character special file.-d file exists and is a directory.-e file exists (just the same as -a).-f file exists and is a regular file.-g file exists and has its setgid(2) bit set.-G file exists and has the same group ID as this process.-k file exists and has its sticky bit set.-L file exists and is a symbolic link.-n string length is not zero.-o Named option is set on.-O file exists and is owned by the user ID of this process.-p file exists and is a first in, first out (FIFO) special file ornamed pipe.-r file exists and is readable by the current process.-s file exists and has a size greater than zero.-S file exists and is a socket.-t file descriptor number fildes is open and associated with aterminal device.-u file exists and has its setuid(2) bit set.-w file exists and is writable by the current process.-x file exists and is executable by the current process.-z string length is zero.
Shell判斷檔案是否存在