Linux下简单的判断目录中是否有新文件的Shell?

如题所述

因shell还不是很熟练,所以做此笔记,方便查看。

#!/bin/sh

myPath="/var/log/httpd/"

myFile="/var/log/httpd/access.log"

#这里的-x参数判断$myPath是否存在并且是否具有可执行权限

if;then

mkdir"$myPath"

fi

#这里的-d参数判断$myPath是否存在

if;then

mkdir"$myPath"

fi

#这里的-f参数判断$myFile是否存在

if;then

touch"$myFile"

fi

#其他参数还有-n,-n是判断一个变量是否是否有值

if;then

echo"$myVarisempty"

exit0

fi

#两个变量判断是否相等

if;then

echo'$var1eq$var2'

else

echo'$var1noteq$var2'

fi

========================================

shell判断语句

流程控制"if"表达式如果条件为真则执行then后面的部分:if....;then

....

elif....;then

....

else

....

fi

大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等?通常用""来表示条件测试。注意这里的空格很重要。要确保方括号的空格。

:判断是否是一个文件

:判断/bin/ls是否存在并有可执行权限

:判断$var变量是否有值

:判断$a和$b是否相等-rfile用户可读为真

-wfile用户可写为真

-xfile用户可执行为真

-ffile文件为正规文件为真

-dfile文件为目录为真

-cfile文件为字符特殊文件为真

-bfile文件为块特殊文件为真

-sfile文件大小非0时为真

-tfile当文件描述符(默认为1)指定的设备为终端时为真

#########################################################

含条件选择的shell脚本

对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,

包括比较运算、判断文件是否存在等。基本的if条件命令选项有:-eq—比较两个参数是否相等(例如,if)

-ne—比较两个参数是否不相等

-lt—参数1是否小于参数2

-le—参数1是否小于等于参数2

-gt—参数1是否大于参数2

-ge—参数1是否大于等于参数2

-f—检查某文件是否存在(例如,if)

-d—检查目录是否存在

几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。##################################################################判断文件是否存在

#!/bin/sh

today=`date-dyesterday+%y%m%d`

file="apache_$today.tar.gz"

cd/home/chenshuo/shell

if;then

echo"OK"

else

echo"error$file">error.log

mail-s"failbackupfromtest"[email protected]

温馨提示:答案为网友推荐,仅供参考
相似回答