if then else语句查找文件

时间:2010-02-06 04:36:15

标签: bash

您好我如何使用if / else语句查找文件。让我们说如果我在root中有一个file.txt,我希望能够编写一个说if [ file.txt ]不存在的脚本然后使用find / -newer sshh > file.txt,或者使用[file.txt]如果有任何更改,请邮寄更改。

3 个答案:

答案 0 :(得分:2)

在bash中,-f会告诉您文件是否存在。

if [ -f /file.txt ];
  then
    // do something with mail
  else
    // do something with find
fi

答案 1 :(得分:0)

你并没有真正告诉我们很多关于你的平台的信息,但恕我直言 - 如果你不知道如何用find和基本的shell内置来做这样的事情 - 你应该使用更高级别的语言。概念化和易于维护将更容易。

将其视为一种学习体验 - 更改为使用python,perl或您选择的语言进行实验。

答案 2 :(得分:0)

这样的事情应该有效:

if test -e "file.txt"; then
  cat file.txt | mail -s "file.txt changed" example@example.com
else
  find / -newer sshh > file.txt
fi

但您很可能希望将其与diff结合使用,以确定文件结构是否已更改。