您好我如何使用if / else语句查找文件。让我们说如果我在root中有一个file.txt
,我希望能够编写一个说if [ file.txt ]
不存在的脚本然后使用find / -newer sshh > file.txt
,或者使用[file.txt]
如果有任何更改,请邮寄更改。
答案 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
结合使用,以确定文件结构是否已更改。