February 2004
Beginner
200 pages
5h 40m
English
Before we can describe conditionals and loops, we need the concept of a Boolean (true/false) test. To the shell, the value 0 means true or success, and anything else means false or failure.
Additionally, every Linux command returns an integer value, called a return code or exit status, to the shell when the command exits. You can see this value in the special variable $?:
$ cat myfile My name is Sandy Smith and I really like Fedora Linux $ grep Smith myfile My name is Sandy Smith and A match was found... $ echo $? 0 ...so return code is "success" $ grep aardvark myfile $ echo $? No match was found... 1 ...so return code is "failure"
The return codes of a command are usually documented on its manpage.