Linux exit 命令初学者讲解(附实例)
在此页
- Linux 退出命令
- 定义陷阱
- 结论
如果您是 Linux 新手,并且您的工作涉及通过命令行执行操作,那么不用说,您一定会在终端窗口上花费大量时间。正如您可能同意的那样,有一些命令是我们经常使用的,例如 ls、cp 和 rm。但是,还有一些其他的使用相对较少。在本教程中,我们将讨论这样一个不太常用的命令:Exit。
请注意,本文中提到的所有示例和说明均已在 Ubuntu 22.04 上运行的 Bash shell 上进行了测试。
Linux 退出命令
exit 命令允许您退出运行它的 shell。

如果您的 shell 窗口有多个选项卡,则此命令会退出执行它的选项卡。鉴于它是一个内置命令,您很可能找不到专门的退出手册页。要访问其官方文档,请执行以下命令:
help exit
在我的系统上,上述命令产生了以下输出:
exit: exit [n]
Exit the shell.
Exits the shell with a status of N. If N is omitted, the exit status
is that of the last command executed.
现在,有些人可能会问为什么(或者更确切地说,什么时候)需要 N。好吧,这个值——基本上是退出状态——主要在脚本(bash 脚本)中使用命令时使用。在某些情况下,此值映射到人类可读的错误、警告或通知。
此外,从上面的帮助命令输出可以清楚地看出,如果未明确指定值 N,则最后执行的命令的退出状态将被视为该值。
让我们举一个简单的例子:我所做的是,我切换了用户帐户并进入了 root shell:

然后,我使用 exit 命令退出了 shell。另外,我使用 8 作为退出状态值。

现在,在父 shell(我返回的地方)中,我使用以下命令检查退出状态:
echo $?

因此,您可以看到它的状态值与传递给 root shell 中的 exit 命令的状态值相同。所以这样我们就可以访问状态,然后做任何想要做的事情。
现在,这是另一个示例,其中我没有明确地从 root shell 传递任何退出状态,但是在父 shell 中查询时,返回了在 root shell 中运行的最后一个命令的退出状态:

定义陷阱
如果需要,您还可以定义一些您希望系统在 shell 退出时执行的操作。例如,您可能希望在退出时删除一个或多个文件。为此,您必须设置一个陷阱,您可以通过以下方式进行设置:
trap "ENTER-COMMAND-HERE" EXIT
所以无论你希望系统在退出时执行什么操作,你都需要在上面的双引号中指定相应的命令。例如,我使用了以下命令:
trap "rm hypotheticalfile.txt" EXIT
事实是我的系统上不存在这样的文件,所以执行退出命令后,shell 应该为此显示错误。这就是实际发生的事情——见下文:

这样,您就可以在退出时设置陷阱。有关陷阱的更多信息,请运行以下命令:
help trap
结论
当涉及到 exit 命令时,没有太多的学习曲线,特别是如果您是命令行初学者。你现在可能会同意这一点。因此,只需快速尝试我们在这里讨论的内容,然后开始使用 exit 命令(如果您还没有这样做的话)。如有任何疑问或疑问,请在下方发表评论。你知道 tee 命令了吗?如果没有,请检查它的用途。