bash: -exec in find command and &



我想运行:

./my_script.py a_file &

在当前文件夹中以.my_format结尾的所有文件上,所以我这样做:

find . -type f -name "*.my_format" -exec ./my_script {} & ;

但它不起作用。我应该如何在-exec参数中包含&

试试这个:

$ find . -type f -name "*.my_format" -exec sh -c './my_script {} &' ;

尝试失败的最可能原因是find使用exec(3)系列标准c库调用中的一个执行命令,该调用不理解作业控制,即&符号。shell确实理解"在后台运行此命令",因此-exec sh ...调用

试试这个find命令:

find . -type f -name "*.my_format" -exec bash -c './my_script "$1" &' - '{}' ;

最新更新