我想跑:
./my_script.py a_file &
...当前文件夹中以.my_format
结尾的所有文件,所以我这样做:
find . -type f -name "*.my_format" -exec ./my_script {} & \;
但它不起作用。我应该如何在&
参数中加入-exec
?
答案 0 :(得分:11)
试试这个:
$ find . -type f -name "*.my_format" -exec sh -c './my_script {} &' \;
您尝试不起作用的最可能原因是因为find使用exec(3)
标准c库调用系列之一来执行命令,这些调用不了解作业控制 - {{1符号。 shell确实理解"在后台运行此命令"因此&
调用
答案 1 :(得分:4)
尝试使用此命令:
find . -type f -name "*.my_format" -exec bash -c './my_script "$1" &' - '{}' \;