如果命令失败,如何退出 Linux 终端?

linuxoperating systemopen source更新于 2026/2/15 1:37:17

我们编写的某些命令可能会因为某些原因失败,这是一种常见的情况。原因可能有很多,可能是因为核心实用程序的 GNU 版本和 BSD 版本之间存在差异,也可能仅仅是因为存在逻辑错误。在这种情况下,如果我们想终止进程,而不必使用 CTRL + C 的显式技巧,那么我们有几个不同的选择。

使用 || 退出 bash 命令

假设我们有一个特定的命令 my_command,它在 Ubuntu 上运行良好,但在 Mac OS X 上运行良好,并且您想确保如果它由于某些原因失败,则进程应该终止并且终端应该退出。

在这种情况下,我们可以使用下面显示的命令。

命令

my_command || { echo 'my_command isn't working!' ; exit 1; }

此命令将确保当且仅当命令不起作用时终端退出。

使用 $

下面显示了另一个可以使用的命令。

命令

my_command
if [ $? -eq 0 ]
then
    echo "it works perfectly"
else
    echo "it isn't working"
fi

在上面的命令中,我们利用了这样一个原理:如果命令返回非零的退出代码,我们就回显它,然后就可以退出终端了。

使用 set -e

如果您使用 Bash 脚本运行该命令,则可以在脚本顶部插入以下命令。

命令

set -e

将上述命令放在 Bash 脚本顶部,当任何命令返回非零的退出代码时,脚本就会退出。


相关文章


有用资源