仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1103|回复: 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欢迎大家来到仓酷云论坛!
因胸联盟 该用户已被删除
沙发
发表于 2015-1-16 14:42:31 | 只看该作者

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

你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-25 21:00:58 | 只看该作者
直到学习Linux这门课以后,我才知道,原来我错了。?
乐观 该用户已被删除
地板
发表于 2015-2-4 13:14:53 | 只看该作者
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
5#
发表于 2015-2-9 23:33:48 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-28 10:30:41 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-9 23:52:48 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
精灵巫婆 该用户已被删除
8#
发表于 2015-3-17 07:11:14 | 只看该作者
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-24 03:56:45 | 只看该作者
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-28 03:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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