如何执行 find 找到的文件

如何执行 find 找到的文件

我在目录树下有一些可执行文件。我想找到它们并以最简单的方式执行它们。到目前为止,我已经尝试过这个: find . -perm 0775 -type f | xargs exec 但是 exec 不是可执行文件,它是 bash 内部文件。我可以创建一个包装器脚本,如下所示:

#!/bin/bash
# exec.sh
exec $1

然后就可以运行了find . -perm 0775 -type f -exec ./exec.sh {} \; 但是必须有一个更优雅、更简短的方法来做到这一点。

答案1

只需放弃脚本即可。

find . -perm 0775 -type f -exec '{}' ';'

工作得很好!

答案2

xargs并不真正适合做这件事;它主要用于提供一个固定的命令,其参数从标准输入读取。

但是你可以使用简单的 shell 循环直接调用程序:

find . -perm 0775 -type f | while read program; do
                                $program
                            done

相关内容