在Shell脚本中的退出状态

3

我正在运行一个shell脚本中的应用程序。现在我想知道应用程序的退出状态,以了解它是否正常退出或异常退出(如崩溃等)。我该如何知道呢? 示例: ./mytestApp


这个问题与您在http://stackoverflow.com/questions/5451297/exit-code-when-crashed中发布的其他帖子有何显著不同? - shellter
4个回答

3
Bash将最后一个进程的退出值存储在特殊变量$?中。

3
你可以使用特殊变量$?,其中包含上一个命令的退出状态。

2

$? 包含上一个执行的命令的退出状态。因此,如果最后一条命令是 ./mytestapp,那么在它执行完后,$? 将立即包含其退出状态(请注意,您只能检索此值一次,并且必须在要知道其退出状态的命令之后立即检索)。您可能希望将其捕获到变量中,例如:

#!/bin/bash
./mytestapp
APPSUCCESS=$?
# Continue doing whatever it is you're doing

这一切都假设你正在使用bash(sh和zsh也可以,如果我没记错的话)。

0
特殊变量$?将包含bash中上一个命令的退出状态。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接