一、示例
#!/bin/shmyPath="/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"exit0fi# 两个变量判断是否相等if[ "$var1"= "$var2"]; thenecho'$var1 eq $var2'elseecho'$var1 not eq $var2'fi
二、常用判定符
-a :文件存在
-b :文件存在并且是一块特殊文件
-c :文件存在并且是一个字符特殊文件.
-d :文件存在并且是一个目录
-e :文件存在(如 -a 一样)
-f :文件存在并且是一个普通文件
-L :文件存在并且是符号链接.
-n :字符串长度不为零.
-s :文件已存在,并且大小大于零.
-w :文件存在并且是由当前进程可写.
-x :文件存在并且是可执行的过程.
-z :字符串的长度是零