我必须用脚本找到一个名为Test的可执行文件,它以路径作为参数,并执行它。我用这句话来做:
find -name Test -exec {} path \;在考试中,我得到了一个主管:
execl("./Test1","Test1",(char*)0);
perror("Exec failed");
exit(EXIT_FAILURE);其中Test1位于相同的测试目录中。执行Test“手动”一切正常,但使用上面写的行,我有一个Exec失败:没有这样的文件或目录错误。
怎么了?
发布于 2012-07-30 13:47:00
查找从您正在执行的Test目录执行find。如果您可以更改测试代码,那么将Test1的绝对路径:
execl("/home/myuser/some/path/Test1","Test1",(char*)0);
perror("Exec failed");
exit(EXIT_FAILURE);或者您可以使用-execdir而不是-exec
find -name Test -execdir {} path \;来自“查找手册”:
-execdir:类似于-exec,但指定的命令是从包含匹配文件的子目录运行的,该子目录通常不是您开始查找的目录。
https://stackoverflow.com/questions/11722679
复制相似问题