sh - 每当出现时删除目录

时间:2014-02-26 14:53:02

标签: cron sh resource-cleanup

在我的应用程序中,每当我打开VS2013时,都会生成一个恼人的文件夹,导致我的整个构建失败。该文件夹有一些我不想要的旧依赖项。我无法理解它出现在那里的原因:我只是希望它在VS2013启动时消失。

我需要一个简单的脚本来删除它。要删除我们执行的目录:

rm -rf FolderThatWontGoAway

但有没有办法神奇地告诉sh脚本在文件系统中显示时删除了什么?类似的东西:

if [[ -z $(find -name "FolderThatWontGoAway") ]];
then 
    echo "Folder is not here."
else
     #remove!
     rm -rf FolderThatWontGoAway 
fi

注意:一个cron不合适,因为我过于不正常地打开和关闭VS2013,无法知道这个作业应该运行的频率。

1 个答案:

答案 0 :(得分:1)

您可以使用inotifywait执行此操作。像这样:

inotifywait -m -e create . | 
while read dir ev file
do 
    if [ -d "$file" ] && [ "$file" == "FolderThatWontGoAway" ]
    then 
        rm -rf "$file"
    fi
done

这将监视“create”事件的当前目录。如果使用名称“FolderThatWontGoAway”创建新目录,它将删除该文件夹及其内容。