手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2014年07月12日的文章

linux bash判断文件或文件夹是否存在

在写shell脚本的时候,还是有些注意事项的,比如。。空格,给变量赋值不能有空格,象a=1就不能写成a = 1,刚开始的时候好纠结。。

写判断语句的时候[]之间一定要有空格。以下是一些常见的判断:

参考:http://www.cnblogs.com/emanlee/p/3583769.html
  1. #如果文件夹不存在,创建文件夹  
  2. if [ ! -d "/myfolder" ]; then  
  3.   mkdir /myfolder  
  4. fi  
  5.   
  6. #shell判断文件,目录是否存在或者具有权限  
  7.   
  8.   
  9. folder="/var/www/"  
  10. file="/var/www/log"  
  11.   
  12. # -x 参数判断 $folder 是否存在并且是否具有可执行权限  
  13. if [ ! -x "$folder"]; then  
  14.   mkdir "$folder"  
  15. fi  
  16.   
  17. # -d 参数判断 $folder 是否存在  
  18. if [ ! -d "$folder"]; then  
  19.   mkdir "$folder"  
  20. fi  
  21.   
  22. # -f 参数判断 $file 是否存在  
  23. if [ ! -f "$file" ]; then  
  24.   touch "$file"  
  25. fi  
  26.   
  27. # -n 判断一个变量是否有值  
  28. if [ ! -n "$var" ]; then  
  29.   echo "$var is empty"  
  30.   exit 0  
  31. fi  
  32.   
  33. # 判断两个变量是否相等  
  34. if [ "$var1" = "$var2" ]; then  
  35.   echo '$var1 eq $var2'  
  36. else  
  37.   echo '$var1 not eq $var2'  
  38. fi