一、示例
#!/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" exit 0 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 :字符串的长度是零