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

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

主站蜘蛛池模板: 安义县| 庄浪县| 彩票| 娄烦县| 屏东市| 宾阳县| 阿拉善左旗| 泰兴市| 南开区| 安仁县| 长乐市| 西青区| 庆云县| 东乌| 石城县| 昆明市| 突泉县| 靖西县| 谷城县| 龙胜| 齐齐哈尔市| 随州市| 屏东市| 拉萨市| 鹤庆县| 嵊泗县| 渑池县| 太保市| 滦平县| 新干县| 遂溪县| 石楼县| 仁化县| 绿春县| 枣阳市| 东台市| 定南县| 南涧| 偏关县| 邯郸市| 綦江县|