首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用find -exec时出现exec()错误

使用find -exec时出现exec()错误
EN

Stack Overflow用户
提问于 2012-07-30 13:34:50
回答 1查看 1K关注 0票数 3

我必须用脚本找到一个名为Test的可执行文件,它以路径作为参数,并执行它。我用这句话来做:

代码语言:javascript
复制
find -name Test -exec {} path \;

在考试中,我得到了一个主管:

代码语言:javascript
复制
    execl("./Test1","Test1",(char*)0);
    perror("Exec failed");
    exit(EXIT_FAILURE);

其中Test1位于相同的测试目录中。执行Test“手动”一切正常,但使用上面写的行,我有一个Exec失败:没有这样的文件或目录错误。

怎么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-30 13:47:00

查找从您正在执行的Test目录执行find。如果您可以更改测试代码,那么将Test1的绝对路径:

代码语言:javascript
复制
execl("/home/myuser/some/path/Test1","Test1",(char*)0);
perror("Exec failed");
exit(EXIT_FAILURE);

或者您可以使用-execdir而不是-exec

代码语言:javascript
复制
find -name Test -execdir {} path \;

来自“查找手册”:

-execdir:类似于-exec,但指定的命令是从包含匹配文件的子目录运行的,该子目录通常不是您开始查找的目录。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11722679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档