我想跑:
./my_script.py a_file &
Run Code Online (Sandbox Code Playgroud)
...在当前文件夹中以...结尾的所有文件上.my_format,所以我这样做:
find . -type f -name "*.my_format" -exec ./my_script {} & \;
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我应该如何包含&在-exec参数中?
hol*_*eek 12
试试这个:
$ find . -type f -name "*.my_format" -exec sh -c './my_script {} &' \;
Run Code Online (Sandbox Code Playgroud)
您尝试不起作用的最可能原因是因为find使用exec(3)不了解作业控制的标准c库调用系列之一执行命令- &符号.shell确实理解"在后台运行此命令"因此-exec sh ...调用
尝试这个查找命令:
find . -type f -name "*.my_format" -exec bash -c './my_script "$1" &' - '{}' \;
Run Code Online (Sandbox Code Playgroud)