转自:http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html

1. shell判断文件,目录是否存在或者具有权限 
2. #!/bin/sh 
3. 
4. myPath="/var/log/httpd/" 
5. myFile="/var /log/httpd/access.log" 
6. 
7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 
8. if [ ! -x "$myPath"]; then 
9. mkdir "$myPath" 
10. fi 
11. 
12. # 这里的-d 参数判断$myPath是否存在 
13. if [ ! -d "$myPath"]; then 
14. mkdir "$myPath" 
15. fi 
16. 
17. # 这里的-f参数判断$myFile是否存在 
18. if [ ! -f "$myFile" ]; then 
19. touch "$myFile" 
20. fi 
21. 
22. # 其他参数还有-n,-n是判断一个变量是否是否有值 
23. if [ ! -n "$myVar" ]; then 
24. echo "$myVar is empty" 
25. exit 0 
26. fi 
27. 
28. # 两个变量判断是否相等 
29. if [ "$var1" = "$var2" ]; then 
30. echo '$var1 eq $var2' 
31. else 
32. echo '$var1 not eq $var2' 
33. 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 or 
named 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 a 
terminal 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.

是用 -s 还是用 -f 这个区别是很大的!

最新文章

  1. 3种不同的ContextMenu右键菜单演示
  2. jsonp的优缺点
  3. 回文串---Hotaru's problem
  4. 监听视图树 OnGlobalLayoutListener
  5. js中的function
  6. linux操作系统下的码农常用工具
  7. C++ traits技术浅谈
  8. 卷积神经网络(CNN)中卷积的实现
  9. CUDA跟OpenCV的混合编程,注意OpenCV需要重新编译
  10. MVC RedirectToAction 跳转时传参问题
  11. vim使用技巧大全
  12. 容器,表格 ,div,元素可左右拖动,滚动 css
  13. Django:全文检索功能可参考博客
  14. 配置SSH服务使用证书登录Ubuntu服务器
  15. ios 获得通讯录中联系人的所有属性 亲测,可行 兼容io6 和 ios 7
  16. Linux中Sed的用法
  17. OTSU算法学习 OTSU公式证明
  18. compareTo 返回为整数 调用者比参数大;返回负数 调用者比参数小
  19. ubuntu成功安装搜狗输入法
  20. 【CodeForces】790 C. Bear and Company 动态规划

热门文章

  1. Appium-android环境的快速搭建
  2. II7下配置SSAS通过HTTP 远程链接访问
  3. SparkSQL基础应用(1.3.1)
  4. 解决filezilla中无法显示中文的文件名
  5. linux下创建的符号链接的权限
  6. location.reload()加载时有弹出框
  7. 【NOIP模拟赛】lover——心上人
  8. dota玩家与英雄契合度的计算器,python语言scrapy爬虫的使用
  9. DataTables使用学习记录
  10. python 提取图片转为16 24BPP 的方法