Bash 如何避免错误`无法删除';XXXXX';:是一个目录`
我是BASH新手,我正在尝试制作一个简单的脚本。 我想从其他目录运行脚本,然后脚本应该删除我当前目录中的所有文件。(仅限文件) 因此,功能是:Bash 如何避免错误`无法删除';XXXXX';:是一个目录`,bash,Bash,我是BASH新手,我正在尝试制作一个简单的脚本。 我想从其他目录运行脚本,然后脚本应该删除我当前目录中的所有文件。(仅限文件) 因此,功能是: eraseAllFiles() { rm * echo "Files deleted!" sleep 1.3 } 因此,命令rm*删除了我的所有文件,但我得到了以下错误: 无法删除“XXXXX”:是一个目录 我的问题是如何避免此错误?尝试以下方法: eraseAllFiles() { rm * 2>/
eraseAllFiles()
{
rm *
echo "Files deleted!"
sleep 1.3
}
因此,命令rm*
删除了我的所有文件,但我得到了以下错误:
无法删除“XXXXX”:是一个目录
我的问题是如何避免此错误?尝试以下方法:
eraseAllFiles()
{
rm * 2>/dev/null
echo "Files deleted!"
sleep 1.3
}
2>/dev/null
部分将标准错误输出发送到/dev/null
,这实际上意味着它不会显示。而不是rm
使用查找-type f
仅删除文件:
eraseAllFiles() {
find . -maxdepth 1 -type f -delete
echo "Files deleted!"
sleep 1.3
}
如果需要同时删除文件和目录,请使用
rm -r *
-delete
并非所有版本的find
都支持;标准的方法是-exec-rm{}+
。没错,非gnu平台-exec-rm{}+
应该可以工作。