1

第二个输入参数 ($2) 是 ac 程序的路径。我需要检查该 C 程序是否编译。

我相信这是编译C程序的方法:

   cc $2

程序如何判断 C 程序文件是否已编译?

4

2 回答 2

2

假设这是一个 POSIX shell(例如 Bash),你可以这样写:

cc "$2"
if [ $? = 0 ] ; then
    # . . . commands to run if it compiled O.K. . . .
else
    # . . . commands to run if it failed to compile . . .
fi

或者更简洁一点:

if cc "$2" ; then
    # . . . commands to run if it compiled O.K. . . .
else
    # . . . commands to run if it failed to compile . . .
fi

在特殊情况下,如果编译失败,您只想运行某个命令,例如exit 1,您可以编写如下内容:

cc "$2" || exit 1
于 2012-11-26T18:55:58.247 回答
0

Bash - shell你可以直接使用下面的,不需要if

    cc $2
    [ $? -ne 0 ] && exit 1

    # rest of code 

或者你可以使用,

cc $2
if [ $? -eq 0 ]; then
# code for true
else
# code for false
fi 
于 2012-11-26T19:12:27.073 回答