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

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

主站蜘蛛池模板: 英德市| 丰都县| 宜城市| 新绛县| 温泉县| 乐业县| 正镶白旗| 罗山县| 建水县| 财经| 安溪县| 福鼎市| 弥勒县| 泸西县| 甘泉县| 榆社县| 高碑店市| 东方市| 阿尔山市| 全椒县| 上栗县| 安吉县| 洪雅县| 潮州市| 渑池县| 盘锦市| 滦南县| 旬阳县| 遂溪县| 全州县| 五常市| 冀州市| 工布江达县| 桑植县| 玉山县| 陵水| 武陟县| 和硕县| 项城市| 台南县| 界首市|