仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1110|回复: 8
打印 上一主题 下一主题

[shell编程] 来一发shell判别文件,目次是不是存在大概具有权限

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:22:33 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!因shell还不是很纯熟,以是做此条记,便利检察。
#!/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"$myVarisempty"
exit0
fi
#两个变量判别是不是相称
if["$var1"="$var2"];then
echo$var1eq$var2
else
echo$var1noteq$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是不是相称-rfile     用户可读为真
-wfile     用户可写为真
-xfile     用户可实行为真
-ffile     文件为正轨文件为真
-dfile     文件为目次为真
-cfile     文件为字符特别文件为真
-bfile     文件为块特别文件为真
-sfile     文件巨细非0时为真
-tfile     当文件形貌符(默许为1)指定的装备为终端时为真
#########################################################
含前提选择的shell剧本
关于不含变量的义务复杂shell剧本一样平常能胜任。但在实行一些决议义务时,就必要包括if/then的前提判别了。shell剧本编程撑持此类运算,
包含对照运算、判别文件是不是存在等。基础的if前提下令选项有:-eq―对照两个参数是不是相称(比方,if[2Ceq5])
-ne―对照两个参数是不是不相称
-lt―参数1是不是小于参数2
-le―参数1是不是小于即是参数2
-gt―参数1是不是年夜于参数2
-ge―参数1是不是年夜于即是参数2
-f―反省某文件是不是存在(比方,if[-f"filename"])
-d―反省目次是不是存在
几乎一切的判别都能够用这些对照运算符完成。剧本中经常使用-f下令选项在实行某一文件之前反省它是不是存在。##################################################################判别文件是不是存在
#!/bin/sh
today=`date-dyesterday+%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"failbackupfromtest"linuxcy@126.comfi欢迎大家来到仓酷云论坛!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-10 05:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表