我想運行:慶典:-exec的find命令和
./my_script.py a_file &
...在與.my_format
結束當前文件夾中的所有文件,所以我做的:
find . -type f -name "*.my_format" -exec ./my_script {} & \;
但它不起作用。我應該如何在-exec
參數中包含&
?
我想運行:慶典:-exec的find命令和
./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 {} &' \;
的最可能原因,你的嘗試沒有成功是因爲找到執行使用exec(3)
系列標準之一的命令c庫調用不了解作業控制 - &
符號。 shell確實懂得「在後臺運行這個命令」,因此-exec sh ...
調用
噢,謝謝。所以'sh'是所有linux機器上的基本shell,對吧? –
最近的linux發行版symlinks/bin/sh到符合posix-sh標準的shell。 – holygeek
如果我們爲每次執行產生一個新的shell,我們爲什麼還需要在後臺添加執行的命令 ? –
試試這個find命令:
find . -type f -name "*.my_format" -exec bash -c './my_script "$1" &' - '{}' \;
可能重複[可以查找命令的「exec」功能在後臺啓動程序嗎?](http://stackoverflow.com/questions/853451/can-the-find-commands-exec-feature-start-a-program-in-the-the-background) – eran
一年後有指出它的意義嗎? –
面對這個問題時,我遇到了這個問題,而且這絕對不是一個壞問題。在這一點上,提到它是重複的是一種通知未來讀者其他答案可用的方式,就是這樣。 – eran