如何避免错误`无法删除' XXXXX':是一个目录`

时间:2015-08-14 09:38:24

标签: bash

我是BASH的新人,我试图制作一个简单的剧本。 我想从不同的目录运行脚本,然后脚本应该删除当前目录中的所有文件。 (只有文件) 所以功能是:

eraseAllFiles()
{   
    rm * 
    echo "Files deleted!"
    sleep 1.3
}

所以命令rm *删除了我的所有文件,但后来我收到了这个错误:

cannot remove 'XXXXX': is a directory

我的问题是如何避免此错误?

3 个答案:

答案 0 :(得分:3)

而不是rm使用find -type f仅删除文件:

eraseAllFiles() {   
    find . -maxdepth 1 -type f -delete 
    echo "Files deleted!"
    sleep 1.3
}

答案 1 :(得分:0)

试试这个:

eraseAllFiles()
{   
    rm * 2>/dev/null
    echo "Files deleted!"
    sleep 1.3
}

2>/dev/null部分将标准错误输出发送到/dev/null,这实际上意味着它不会显示。

答案 2 :(得分:-2)

如果您需要删除文件和目录,请使用

rm -r *