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

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

主站蜘蛛池模板: 天柱县| 台北县| 瓮安县| 虞城县| 谷城县| 乐安县| 旬邑县| 尚志市| 双流县| 洪湖市| 大理市| 武宣县| 佛学| 洛浦县| 玉树县| 山丹县| 丹阳市| 安新县| 涟源市| 永新县| 大田县| 郸城县| 岑巩县| 监利县| 永福县| 湘乡市| 崇信县| 高尔夫| 榆社县| 漳浦县| 辽宁省| 丰顺县| 墨竹工卡县| 兴宁市| 化隆| 屏边| 金秀| 河北省| 临漳县| 浦东新区| 武山县|