Bash: execute command
I am writing a script that will run a gcc command. I want the script to stop executing if the gcc command fails and output something like "script failed" and then just stop.
Is there a way in bash to execute a command and catch errors from it in an if-then-else or something? Thanks! |
"Is there a way in bash to execute a command and catch errors from it in an if-then-else or something?"
Yes. Check the gcc return code within an if statement. Normal completion gives a return code of zero. An error gives a non-zero return code. You can even get fancy and take different actions based on which error code is returned. ----------------- Steve Stites |
Basically you need to check the value of exit code of gcc, using $? variable. Non-zero result means error.
|
Thanks! The $? was exactly what I was looking for. I googled a lot for "command execution return" and stuff but couldn't find a place that said "the return code of the command is in $?" :P
Thanks! That helped a lot. :D |
Or this simpler solution:
Code:
... |
or
Code:
make |
make would require me to create a makefile. This script is supposed to compile, create an xml file, pack into a tar and move for installation. So.. ;)
|
So, like - what's wrong with having the *makefile* create the XML, pack it into a tar file, and move it for installation?
I would argue that a makefile (or, in some environments, Maven or Ant) would be the *better* (simpler, more robust, more flexible) solution! IMHO .. PSM |
Now you have really triggered my interest. Can Makefile do all that? I am currently using CMake as the build system for my project. Is there a way to create such wonderful Makefiles via CMake?
Please enlighten me. ;) |
Ah, that signature just got me going! Here's a third way of doing it:
Code:
#!/bin/bash |
All times are GMT -5. The time now is 12:21 PM. |