是否可以让bash检测C中的编译错误?
发布时间:2020-12-16 01:48:54 所属栏目:安全 来源:网络整理
导读:参见英文答案 How to check if gcc has failed,returned a warning,or succeeded in Bash?????????????????????????????????????3个 我有一个棘手的要求: 我需要使用bash编译100个程序,比如1.c,2.c,3.c … 100.c,我想保留那些编译成功的c程序并删除编译错误
参见英文答案 >
How to check if gcc has failed,returned a warning,or succeeded in Bash?????????????????????????????????????3个
我有一个棘手的要求: 我需要使用bash编译100个程序,比如1.c,2.c,3.c … 100.c,我想保留那些编译成功的c程序并删除编译错误的c程序. 到目前为止,我只能实现编译这100个程序的目标,但我真的不知道如何检测这100个程序中的编译是否失败. 解决方法
只需检查返回代码是否为非零,如果文件非零,则删除该文件.返回码存储在shell变量$?中?运行编译器后.
以下是这种脚本的长形式. for i in {1..99}; do gcc ${i}.c 2> /dev/null > /dev/null if [[ $? -ne 0 ]]; then rm ${i}.c fi done 作为用户268396,中间部分可以缩短为以下内容. gcc ${i}.c || rm ${i}.c 使用短路运算符||将确保后一个语句仅在前一个语句失败时才会运行(即,以非零返回码退出). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |