linux - 如果找不到文件,如何使 find -name 返回错误

标签 linux unix command find execvp

我已经非常努力地尝试了,但无法找到打印错误的方法,如果

find -name\"文件名"

没有找到任何文件。目前我使用的代码如下:

    char *argv[];
       argv[0]="find";
       argv[1]="-name";
       argv[2]=strcat(str,"\abc.txt"); 
       argv[3]=NULL;
       pid_t pid;
       pid= fork();

   if(pid==0)
   {
    execvp(argv[0],argv);
   printf("file does not exist");
    }

但是我无法打印我的打印语句,因为 find -name\"filename" 永远不会返回错误。

最佳答案

可以使用shell条件,如:

[ "$(find /opt -name '*.txt')" ] && echo Found || echo Not found

基本相同:

[ "$(find /opt -name '*.txt')" '!=' '' ] && echo Found || echo Not found

如果您使用的是 GNU find,请尝试使用 -quit

关于linux - 如果找不到文件,如何使 find -name 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16055281/

相关文章:

c - 有什么方法可以区分规范模式下的 EOL 和 EOF 吗?

linux - 使用 Bash 关闭 Windows 网络

Tomcat命令检查配置文件?

c - 为什么像clone()这样的系统调用会失败、恢复和暂停?

c++ - 如何在 linux 终端中处理带有负号 (-) 的 C++ 命令行参数?

linux - 为什么 ".."条目存在于根目录中?

c++ - 在 Mac OS X 上使用 Eclipse CDT 调试远程 Linux 应用程序

linux - 我如何在 Awk Ubuntu 中添加两列字符串(它们是整数)?

linux - ptrace 防止信号在跟踪进程中中断 pselect()

linux - 如何处理带空格的路径变量