我需要在目录中递归查找一种类型的文件。然后对于找到的每个文件,以找到的文件作为参数执行脚本:
#!/bin/bash
find /mnt/storage/content/www/html/smartsite/src/data/resource/ ! -path "*/tmp/*" -regextype posix-awk -iregex "(.*.toConv)" -exec /mnt/storage/content/www/html/smartsite/cron/VideoConvert/convert {} \;
它按预期工作,但是当调用脚本(转换)时执行会停止并抛出错误。我想防止这种情况并继续执行找到的下一个文件。例如,无论我做什么
/convert || true {} \;
或
/convert {} || true \;
它总是抛出错误“No paremeters for exec”。我做错了什么?
最佳答案
试试这个
find ... -exec bash -c "convert {} || true" ";"
或
find ... -print0 | xargs -r -0 -i convert {}
关于Bash - 防止脚本因错误而停止执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26190696/