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

  • Bash Quick Start Guide
  • Tom Ryder
  • 225字
  • 2021-07-23 16:58:57

Exit values

We can tell it was the rmdir command in the previous section that failed, because rmdir is the first word of the error message output. We can test the command in isolation, and look at the value of the special $? parameter with echo, to see its exit status:

$ rmdir ~/nonexistent
rmdir: failed to remove '/home/bashuser/nonexistent': No such file or directory
$ echo $?
1

The rmdir program returned an exit value of 1, because it could not delete a directory that didn't exist. If we create a directory first, and then remove it, both commands succeed, and the value of $? for both steps is 0:

$ mkdir ~/existent
$ echo $?
0
$ rmdir ~/existent
$ echo $?
0

Examining the exit values for the true and false built-in Bash commands is instructive; true always succeeds, and false always fails:

$ true ; echo $?
0
$ false ; echo $?
1

Bash will also raise an exit status of 127 for you if it can't find a way to run a command you request, such as notacommand:

$ notacommand ; echo $?
bash: notacommand: command not found
127

It's standard for programs to return 0 when they succeed, and something greater than 0 if they fail. Beyond that, programs vary in which exit values they choose for error conditions.

主站蜘蛛池模板: 东乡县| 富民县| 洪雅县| 玛多县| 尖扎县| 厦门市| 政和县| 锡林郭勒盟| 广丰县| 西安市| 枣阳市| 建瓯市| 晋城| 大邑县| 黄石市| 滦平县| 苏州市| 秭归县| 通海县| 砀山县| 禄劝| 澄江县| 星子县| 囊谦县| 陈巴尔虎旗| 会宁县| 怀安县| 师宗县| 普兰县| 米泉市| 平乡县| 凤台县| 开远市| 西城区| 丹寨县| 莱阳市| 济南市| 崇礼县| 屯门区| 嘉黎县| 柞水县|