首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果find -exec返回非零,则停止make

如果 find -exec 返回非零,则停止 make

在这个问答中,我们讨论了如何在使用 find 命令的 -exec 选项时,如果遇到非零返回值,如何停止 make 命令的执行。这是一个常见的问题,因为在使用 -exec 选项时,如果执行的命令返回非零值,find 命令会继续执行下一个文件,而不会停止。

为了解决这个问题,我们可以使用 find 命令的 -execdir 选项,而不是 -exec 选项。-execdir 选项会在找到的文件所在的目录中执行指定的命令,并在命令返回非零值时停止执行。这样,我们可以确保在遇到错误时,make 命令会停止执行。

例如,如果我们想要在找到的所有文件中执行 make 命令,并在遇到错误时停止执行,我们可以使用以下命令:

代码语言:txt
复制
find . -type f -name "*.c" -execdir make {} \;

这将在找到的所有 .c 文件所在的目录中执行 make 命令,并在遇到错误时停止执行。

总之,如果 find -exec 返回非零,则停止 make 的最佳方法是使用 find 命令的 -execdir 选项,而不是 -exec 选项。这将确保在遇到错误时,make 命令会停止执行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python面试题-【二分法查找】给定一个已排序的重复整数数组和一个目标值,如果找到目标,返回索引。

前言 给定一个已排序的重复整数数组和一个目标值,如果找到目标,返回索引。如果不是,返回索引按顺序插入时的位置。 题目 给定一个已排序的重复整数数组和一个目标值,如果找到目标,返回索引。...如果不是,返回索引按顺序插入时的位置。...二分法思想 1.首先从数组的中间元素开始查找,如果该元素正好是目标元素,搜索结束,否则执行下一步。...3.如果某一步数组为空,表示找不到目标元素 如下图,数组中有目标元素,查找21 如下图,数组中没有目标元素,查找70 直到 low > high 查找失败 python3 二分法查找 python3...low = mid + 1 else: high = mid - 1 return low # 没找到返回其位置左边的下标

84720
  • 【Linux】《how linux work》第十一章 Shell 脚本简介

    当退出码为(0)时,通常意味着程序运行正常,没有问题。 然而,如果程序出现错误,它通常会以一个的数字退出(但并不总是,稍后会看到)。...需要注意的一点是,一些程序(如diff和grep)使用的退出代码来指示正常情况。 例如,如果grep找到与模式匹配的内容,返回0,如果没有找到,返回1。...如果退出码为0,Shell执行紧随then关键字之后的命令,当遇到else或fi关键字时停止如果退出码不为0且存在else子句,Shell运行else关键字之后的命令。 条件以fi结束。...||结构类似;如果||之前的命令返回退出代码,shell运行第二个命令。...,退出代码为0,当测试失败时退出代码为

    14810

    Linux基础(强大到流泪的findgrep)

    相应命令的形式为’command’ { } ;,注意{ }和;之间的空格 find ./ -size 0 -exec rm {} ; 删除文件大小为的文件 (还可以以这样做:rm -i find...-ctime +3 -exec rm -rf {} ;) find ./ -size 0 | xargs rm -f & 删除文件大小为的文件 find命令配合使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令...匹配一个换行符的字符 如:’gr.p’匹配gr后接一个任意字符,然后是p。 * 匹配个或多个先前字符 如:’ *grep’匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。...w 匹配一个文字和数字字符,也就是[A-Za-z0-9],如:’Gw*p’匹配以G后跟个或多个文字或数字字符,然后是p。 W w的反置形式,匹配一个单词字符,如点号句号等。W*则可匹配多个。...-q,–quiet 取消显示,只返回退出状态。0表示找到了匹配的行。 -l,–files-with-matches 打印匹配模板的文件清单。

    91520

    Golang的优雅重启

    如果您有Golang HTTP服务,可能需要重新启动它以升级二进制文件或更改某些配置。...紧接着,孩子向父母发送信号,导致父母停止接受连接并终止。 分叉一个新的过程 使用Golang lib分支进程的方法不止一种,但对于这种特殊情况, exec.Command是可行的方法。...这是因为此函数返回的Cmd结构具有此ExtraFiles成员,该成员指定要由新进程继承的打开文件(除了stdin / err / out)。...path如果要升级,变量应该包含新可执行文件的路径(可能与当前运行的路径相同)。 上面代码中的一个重点是netListener.File() 返回 文件描述符的 dup(2)。...文档指出“如果条目i变为文件描述符3 + i。”这意味着在上面的代码片段中,子代中的继承文件描述符将始终为3,因此不需要明确地传递它。

    89510

    Linux常用命令大全(整理自用)

    find 实际搜寻硬盘查询文件名称。 which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。...如果省略参数,返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。 常用参数 -b 定位可执行文件。...*表示任意多个字符 find 命令 用于在文件树中查找文件,并作出相应的处理。 命令格式: find pathname -options [-print -exec -ok ...]...-execfind命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。...#匹配一个换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 * #匹配个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。

    2.3K10

    Linux命令(31)——find命令

    如果没有给定搜索路径[path…],默认为当前目录,如果没有给定表达式[expression],默认为-print,将匹配的文件输出到标准输出。...expr1 -or expr2 :expr1返回true或false都不影响expr2的检测,它们是独立的。如果expr1返回true,独立输出该结果,然后开始评测expr2。...但如果是: find /tmp -type f -o -name "*.log" -name操作的对象是/tmp,所以返回结果中即有任意普通文件,也有任意log文件,但两者同名的文件只返回一次。...这部分是find的command line部分。 -delete:删除文件,如果删除成功返回true,如果删除失败,将给出错误信息。"-delete"动作隐含了"-depth"这个option。...如果命令的返回状态码为0该action返回true,command后面的所有内容都被当作command的参数,直到分号";"为止,其中参数部分使用字符串"{}"时,它表示find找到的文件名,即在执行命令时

    2K50

    实战Makefile前,该知道那些知识?

    如果Makefile为其他名字,比如makefile.linux,则需要使用make的参数(-f or --file)执行对应的Makefile文件,例如: make -f makefile.linux.../rice_file/mkfile$ make rice makefile 命令前不加@字符例子: rice@rice:~/rice_file/mkfile$ cat Makefile exec:...命令出错规则(-符号): 当命令运行完,make会检测每个命令的返回码,如果返回成功,那make会执行下一条命令,当规所有的命令成功返回后,make执行完成。...如果一个规则中的某个命令出错了(命令退出码 ),那么make就会终止执行当前规则,这将有可能终止所有规则的执行。 有时命令的出错并不表示错误。...例如mkdir命令,建立一个目录,如果目录不存 在,mkdir不会出现错误。如果目录已存在,那么将产生错误。

    48520

    Linux常用命令

    rm 命令 删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项, rm 不会删除目录。...find 实际搜寻硬盘查询文件名称。 which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。...如果省略参数,返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。 常用参数: -b 定位可执行文件。...如果第一个字符是横线,表示是一个目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。...#匹配一个换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 匹配个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .* #一起用代表任意字符。

    73110

    Linux 常用命令

    rm 命令 删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项, rm 不会删除目录。...find 实际搜寻硬盘查询文件名称。 which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。...如果省略参数,返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。 常用参数: -b 定位可执行文件。...如果第一个字符是横线,表示是一个目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。...#匹配一个换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 * #匹配个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。

    1.1K62

    Linux 【入门篇】——常用命令学习

    rm 命令 删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项, rm 不会删除目录。...find 实际搜寻硬盘查询文件名称。 which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。...如果省略参数,返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。 常用参数: -b 定位可执行文件。...如果第一个字符是横线,表示是一个目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。...#匹配一个换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 * #匹配个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。

    1.1K10

    Linux 中的文件与目录管理解析

    返回上一级目录。cd ../..:返回上两级目录。cd -:返回之前所在的目录。cd ~:进入当前用户的主目录,与第一个示例相同。...mkdir -p /path/to/newdir:递归地创建指定路径下的目录,如果父目录不存在,同时创建父目录。...-exec command {} \;:对搜索结果执行指定的命令。 示例: find /path/to/search -name "*.txt":在指定路径下搜索所有以 .txt 结尾的文件。...find /path/to/search -name "*.txt" -exec rm {} \;:在指定路径下搜索所有以 .txt 结尾的文件,并删除它们。...-b t:只显示空行的行号。-b pATTERN:只显示匹配指定模式的空行的行号。-n:设置行号的格式。 -n ln:行号左对齐。-n rn:行号右对齐。-n rz:行号右对齐,前导填充。

    9400
    领券