文件存在判断,从广义上来说分为直接判断和间接判断(例如Open等)
这里只说直接判断:
shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log"
1: #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi
2: #这里的-d 参数判断$myPath是否存在 if [ ! -d "$myPath"]; then mkdir "$myPath" fi
3: #这里的-f参数判断$myFile是否存在 if [ ! -f "$myFile" ]; then touch "$myFile" fi
4: #其他参数还有-n,-n是判断一个变量是否是否有值 if [ ! -n "$myVar" ]; then echo "$myVar is empty" exit 0 fi
5: #两个变量判断是否相等 if [ "$var1" = "$var2" ]; then echo '$var1 eq $var2' else echo '$var1 not eq $var2' fi
http://hiyachen.blog.chinaunix.net
6: if [ ! -s "aaa*.dat" ]; 文件size是否为0,aaa开头的文件。 一个文件size=0,then =0
7: if [ ! -a "aaa*.dat" ]; 文件存在否?aaa开头的文件。
8: if [ ! -a "aaa*.dat" ]; 文件存在否?aaa开头的文件。 只能单个文件。
阅读(1858) | 评论(0) | 转发(0) |