Get Started With Machine Learning
Learn the fundamentals of Machine Learning with this free course. Future-proof your career by adding ML skills to your toolkit — or prepare to land a job in AI or Data Science.
In Linux, an exit code indicates the response from the command or a script after execution. It ranges from 0 to 255. The exit codes help us determine whether a process ran:
Note: Exit codes are also known as return codes.
We can get the process's exit code once the command or script execution is complete using $?.
Here's an example:
root@educative:/# echo "Hello There!"Hello There!root@educative:/# echo $?0root@educative:/# cat demofile.txtcat: demofile.txt: No such file or directoryroot@educative:/# echo $?1
Note: The terminal is attached to the end of the shot. Please copy the commands from above and paste them into the terminal to try them.
In the above example:
echo “Hello There!” and it printed Hello There! on the following line. Then we ran the command echo $? and it provided output as 0, which indicates that the command ran successfully.cat demofile.txt, and it gave us an error cat: demofile.txt: No such file or directory, and the return code is 1, indicating a failure.Linux has some reserved exit codes with a special meaning. Here's the list of exit codes:
1: Catchall for general errors2: Misuse of shell built-ins (according to Bash documentation)126: Command invoked cannot execute127: “Command not found.”128: Invalid argument to exit128+n: Fatal error signal “n”130: Script terminated by Control-C255\*: Exit status out of rangeExit codes are usually used in the shell script to check the status and take actions accordingly. We run multiple commands in a shell script to check for an everyday use case and see if the command runs successfully. Here's an example:
# some_commandif [ $? -eq 0 ]; thenecho OKelseecho FAILfi
In the code above, we check if the return code is equal to 0. If it is, then we echo OK. Otherwise, we echo FAIL.
RELATED TAGS
CONTRIBUTOR