官术网_书友最值得收藏!

Retrieving return codes and output

Up until now, we have been using a command called exit intermittently to exit scripts. For those of you who are curious, you may have already scoured the web to find out what this command does, but the key concept to remember is that every script, command, or binary exits with a return code. Return codes are numeric and are limited to being between 0-255 because an unsigned 8-bit integer is used. If you use a value of -1, it will return 255.

Okay, so return codes are useful in which ways? Return codes are useful when you want to know whether you found a match when performing a match (for example), and whether the command was completely successfully or there was an error. Let's dig into a real example using the ls command on the console:

$ ls ~/this.file.no.exist
ls: cannot access '/home/rbrash/this.file.no.exist': No such file or directory
$ echo $?
2
$ ls ~/.bashrc
/home/rbrash/.bashrc
$ echo $?
0

Notice the return values? 0 or 2 in this example mean either success (0) or that there are errors (1 and 2). These are obtained by retrieving the $? variable and we could even set it to a variable like this:

$ ls ~/this.file.no.exist
ls: cannot access '/home/rbrash/this.file.no.exist': No such file or directory
$ TEST=$?
$ echo $TEST
2

From this example, we now know what return codes are, and how we can use them to utilize results returned from functions, scripts, and commands.

主站蜘蛛池模板: 永新县| 闽清县| 乌兰察布市| 三门峡市| 旌德县| 五台县| 汤原县| 汕头市| 三都| 山东省| 綦江县| 清丰县| 昆明市| 绥芬河市| 五河县| 简阳市| 偏关县| 许昌市| 信丰县| 罗甸县| 宣恩县| 广元市| 缙云县| 呼伦贝尔市| 晋江市| 砚山县| 辉南县| 天柱县| 麻阳| 洮南市| 广灵县| 都兰县| 陈巴尔虎旗| 区。| 呈贡县| 密山市| 明溪县| 崇阳县| 临夏县| 五寨县| 胶南市|