转自:http://cqfish.blog.51cto.com/622299/187188

文章来源:http://hi.baidu.com/haigang/blog/item/e5f582262d639c118b82a167.html
#!/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

========================================
shell 判断语句

流程控制 "if" 表达式 如果条件为真则执行then后面的部分: if ....; then
....
elif ....; then
....
else
....
fi
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等…   通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等          -r file     用户可读为真
-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真
#########################################################

含条件选择的shell脚本
    对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,包 括比较运算、判断文件是否存在等。基本的if条件命令选项有: -eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在
几 乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。 ################################################################## 判断文件是否存在
#!/bin/sh
today=`date -d yesterday +%y%m%d`
file="apache_$today.tar.gz"
cd /home/chenshuo/shell
if [ -f "$file" ];then
echo "OK"
else
echo "error $file" >error.log
mail -s "fail backup from test" test@test.com <error.log
fi

转载于:https://www.cnblogs.com/lance-ehf/p/4171594.html

shell判断文件,目录是否存在或者具有权限 (转载)相关推荐

  1. Shell中判断文件,目录是否存在

    一. 具体每个选项对应的判断内容: -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filena ...

  2. shell判断文件是否存在[转]

    原文出处: http://canofy.iteye.com/blog/252289 shell判断文件,目录是否存在或者具有权限#!/bin/shmyPath="/var/log/httpd ...

  3. shell——判断文件是否存在

    初次使用Markdown编辑器来编写博客,希望有不一样的体会 本文通过网络文章来体会下shell中对文件的操作 1.这个编辑器和wiki有点像呢 2.Shell是一个很好用的脚本 以下为shell下的 ...

  4. Linux shell判断文件或者目录是否存在

    -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L fil ...

  5. linux shell判断文件、目录是否存在并移动到指定位置

    1.需求 移动某个文件夹下面的所有图片到id后两位的文件夹下面,如果文件夹不存在则新建文件夹 图片样式:211435.jpg,将其移动到35文件夹 2.代码 file=`ls /home/photo` ...

  6. Linux shell 判断文件或目录是否存在

    插播下 result=$[a + b] 等价与 result=`expr $a + $b ` #文件夹不存在则创建 if [ ! -d "/home/xxx/data/" ] th ...

  7. Shell 判断文件或文件夹是否存在(不存在则创建)

    目录 1. 文件夹不存在创建文件夹 2. 判断文件夹是否存在 3. 判断文件是否存在 4. 常用的文件比较符 1. 文件夹不存在创建文件夹 if [ ! -d "/data/" ] ...

  8. linux shell 判断文件是否存在

    判断文件是否存在 if [ -f "/data/filename" ];thenecho "文件存在" elseecho "文件不存在" f ...

  9. C 判断文件是否存在及读写执行权限

    access():判断是否具有存取文件的权限 相关函数 stat,open,chmod,chown,setuid,setgid 表头文件 #include<unistd.h> 定义函数 i ...

最新文章

  1. 模板 - O(n)预处理,O(1)查询gcd
  2. mysql 中文乱码
  3. opencv 图像旋转_用Dlib和OpenCV还能做什么?这个开源项目实现了驾驶员疲劳检测...
  4. iOS连接linux服务器用什么,iOS实现通过SSH2协议链接Linux服务器,并执行相关指令...
  5. 3dmax卸载工具_3dmax软件如何彻底卸载?
  6. 二叉树的层序遍历和前中后序遍历代码 迭代/递归
  7. 嵌入式开发环境ARM+linux的搭建
  8. [洛谷2397]yyy loves Maths VI
  9. python解决高并发的方法
  10. Delphi 10.3 Rio实现FMX应用APP增加Android“应用程序快捷方式”
  11. 时间序列分析 | 相似性度量基本方法
  12. 51单片机74HC595级联测试proteus
  13. [转载]Cairo 图形指南[转载]
  14. 军队武器java代码
  15. 苹果HomeKit与谷歌 Home对比:谁是最佳选择?
  16. R安装nCov2019包报错:Failed to install 'unknown package' from GitHub: schannel: failed to receive handsh
  17. cesium实现四色预警(仿echarts)(cesium篇.50)
  18. QGIS教程-4:文本数据的加载
  19. ”核高基”重大软件专项向微软COM技术敞开大门
  20. 2018结构、流体、热分析、多物理场耦合、电磁仿真计算特点与硬件配置方案分析

热门文章

  1. 带属性的向前声明:warning: type attributes are honored only at type definition
  2. linux c 获取文件数量
  3. OpenCV实现图像翻转
  4. L2-013. 红色警报-PAT团体程序设计天梯赛GPLT(图的连通分量个数统计)
  5. 如何删掉oracle服务,oracle留下的服务如何删除啊
  6. vscode 注释快捷键_koroFileHeader:一个用于生成文件头部注释和函数注释的插件
  7. Python性能测试方法
  8. linux 常用命令系列—cp 复制文件与文件夹
  9. San 3.7.3 发布,百度开源的 MVVM 组件框架
  10. 1.1 学习之初;1.2 约定;1.3 认识Linux;1.4 创建虚拟机;1.5安装centos7