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

  • 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.

主站蜘蛛池模板: 吴旗县| 阳曲县| 新平| 镇安县| 商都县| 黑山县| 云阳县| 高平市| 手游| 蒙城县| 浏阳市| 开封县| 宁波市| 清水河县| 南靖县| 桦南县| 正定县| 灵武市| 治多县| 外汇| 玛沁县| 铜山县| 陈巴尔虎旗| 义马市| 连山| 东丽区| 水富县| 象山县| 万盛区| 桂林市| 武邑县| 洛南县| 宜州市| 清镇市| 水富县| 青岛市| 江永县| 南乐县| 宣化县| 六安市| 图木舒克市|