嗨,我不是真正stream利的bash shell脚本,我做了一些编译使用由bash脚本执行的gcc,我怎么知道(检查)如果编译成功或不成功? 任何例子?
既然你正在脚本中这样做,你可以select检查命令的退出代码,你运行$? variables。
你可以做这样的事情:
./configure if [ $? -ne 0 ] then echo Configure failed exit 1 fi make if [ $? -ne 0 ] then echo make failed exit 1 fi make install if [ $? -ne 0 ] then echo make install failed exit 1 fi echo All steps Succeeded
就我个人而言,我倾向于比较冗长,在剧本中使用更长的forms,因为你永远不知道将来谁会维护它。
如果这是一个命令行运行,我会使用丹尼斯和mibus已经提到的方法
gcc -o foo foo.c && echo OK
🙂
你的问题说“用gcc编译”,但是我在你的评论中看到你实际上在使用configure和make 。 这应该在你的问题中指定。
你可以使用与mibus相同的技术。
./configure foo && make && make install && echo OK
这将不会进行到下一步,除非前一个成功完成,如果一切顺利,它将打印“OK”。
需要注意的是,对于最终的二进制代码可能是重要的警告不被视为错误。 所以在任何情况下,我都不会完全相信退出代码是关于你的编译/链接是否正确。 你仍然应该validation输出。