>我有以下代码
rm "$torrent"/*.{txt,nfo,jpg} && echo "removed "txt,nfo,jpg" files"
如果没有要删除的文件,那么我会收到"缺少操作数"错误,我想避免该错误,因为它触发了脚本的退出 1。
如果我有以下代码
rm -f "$torrent"/*.{txt,nfo,jpg} && echo "removed "txt,nfo,jpg" files"
即使没有删除任何文件,rm
的计算结果也始终为 true。
我想显示消息"已删除..文件",如果删除了某些文件。 如果没有删除任何文件,我希望静音,没有抛出错误。
我玩弄了
find "$torrent" -type f -name "*.txt" -or -name "*.nfo" -or -name ".jpg" -delete && echo "files were deleted"
但即使没有删除任何文件,它的计算结果也始终为 true。
只需将其重写为适当的if
语句:
if rm "$torrent"/*.{txt,nfo,jpg}
then
echo "removed "txt,nfo,jpg" files"
if
这允许您在set -e
生效时对退出状态做出反应,而无需脚本退出