如果您是Linux新手,并且您的工作涉及通过命令行进行任务,那么不用说,您必须在终端窗口上花费大量时间。 你可能会同意,有一些我们经常使用的命令,比如ls,cp和rm。 然而,还有一些比较少使用。 在本教程中,我们将讨论一个这样较少使用的命令: Exit 。
请注意,本文中提到的所有示例和说明都已在Ubuntu 16.04LTS上运行的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脚本)中使用命令时使用。 在某些情况下,此值映射到人为可读的错误,警告或通知。
同样,从上面的help命令输出可以看出,如果没有明确指定值N,则上次执行的命令的退出状态被认为是该值。
我们来一个简单的例子:我所做的是,我切换用户帐户并输入根shell:
然后,我使用exit命令退出shell。 此外,我使用8作为退出状态值。
现在,在父shell(我返回的地方)中,我使用以下命令检查退出状态:
echo $?
所以你可以看到它是传递给root shell中的exit命令的状态值。 所以这样我们可以访问状态,然后做任何想要的。
现在,这里是另一个例子,在这里我没有显式地从root shell中传递任何退出状态,但是在父shell中查询时,返回了在根shell中运行的最后一个命令的退出状态:
定义陷阱
如果需要,您还可以定义一些您希望系统在shell退出时执行的操作。 例如,您可能希望在退出时删除一个或多个文件。 为此,您必须设置一个陷阱,您可以通过以下方式进行操作:
trap "ENTER-COMMAND-HERE" EXIT
因此,无论您希望系统在退出时执行的任何操作都需要在双引号中指定相应的命令。 例如,我使用以下命令:
trap "rm hypotheticalfile.txt" EXIT
事实上,我的系统上没有这样的文件,所以在执行exit命令后,shell应该显示一个错误。 这就是实际发生的事情 - 见下文:
所以这样,你可以在退出时设置陷阱。 有关陷阱的更多信息,请运行以下命令:
help trap
结论
对于exit命令,没有什么学习曲线,特别是如果你是一个命令行初学者。 你现在可能会同意这一点。 所以只要快速尝试一下我们在这里讨论过的所有内容,然后开始使用exit命令(如果你没有这样做)。 如有任何疑问或疑问,请在下方发表评论。