我使用以下shell脚本来清除我正在运行的python脚本的后果:
echo "Cleaning up..."
# some other files removed here...
# removing some log files
if [ -f log_errors.txt ]; then
rm log_errors.txt
fi
# removing all the generated image files
if [ -f IMG_* ]; then
rm IMG_*
fi
# some more files removed here...
ls
Run Code Online (Sandbox Code Playgroud)
但是,在做的时候bash clean.sh,我收到以下错误:
Cleaning up...
clean.sh: line 11: [: too many arguments
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?提前致谢.
编辑:请考虑此目录中没有子文件夹.
IMG_*正在扩展到与模式匹配的文件的完整列表,因此您的测试将最终变成类似的东西if [ -f IMG_1 IMG_2 IMG_3 ...,这是太多的参数!
如果您总是想要删除与模式匹配的所有文件,那么只需将-f参数传递给rm并丢失if:
rm -f IMG_*
Run Code Online (Sandbox Code Playgroud)
如果没有找到文件,这将删除它可以做的一切,什么也不做.