如何查找并执行所有“卸载”的正常文件?

如何查找并执行所有“卸载”的正常文件?

我有几个uninstall文件。我要把他们全部找出来,一一处决。我知道 find 和 exec 组合,所以我尝试了

find . -name uninstall -exec {}\;

但这给了我这样的错误:

find: missing argument to `-exec'

由于它是一个常规文件,我无法给出参数。我只是在终端中这样运行

./uninstall

我怎样才能找到并执行这些文件?

答案1

必须;是一个单独的参数,该参数告诉find运行命令的结束位置:

find . -name uninstall -type f -exec {} \;

对于某些find实现,您可以在-executable之前添加谓词,-exec以便只尝试执行实际可执行的文件。

答案2

您需要指定一个 shell 来启动该文件,例如

find . -name uninstall -exec sh {} \;

或者

find . -name uninstall -exec bash {} \;

答案3

通过寻找+管道:

find . -name uninstall | sh

相关内容