exit 命令
100%

命令行 · 第 19 课

exit 命令

学习离开当前 shell,并选择它返回给调用者的状态。

shell 可以嵌套:图形终端会启动 shell,SSH 连接会启动远程 shell,而 shell 又可以启动另一个 shell。离开当前 shell 后,控制权通常会返回给启动它的对象。

离开当前 shell

结束 shell 会话最常用的方法是使用 exit 命令。当你输入 exit 并按回车时,当前的 shell 进程将终止。这个命令几乎适用于任何 shell 环境。

$ exit

如果该 shell 是图形终端标签页中的主进程,标签页可能会按终端设置关闭。在 SSH 会话中,离开远程 shell 通常会返回本地 shell。如果启动了嵌套 shell,exit 会返回其父 shell。

你在另一个 shell 内启动了 Bash,现在想返回父 shell。应在嵌套 Bash 会话中运行哪个命令?

返回退出状态

exit 命令还可以返回一个状态码。状态码为 0 通常表示成功,非零状态码通常表示错误或特殊情况。

$ exit 0

按约定,0 表示成功,非零值表示失败或程序定义的其他情况。如果 Bash 没有收到数字参数,它会使用运行 exit 前最后一条命令的状态退出。

哪个命令会终止当前 shell,并明确向调用者报告成功?

在 Bash 中,不提供数字时,exit 会返回什么状态?

在登录 shell 中使用 logout

Bash 的 logout 内建命令用于退出登录 shell:

$ logout

在非登录 Bash shell 中,logout 会报告它不是登录 shell;此时应使用 exit

哪个 Bash 内建命令专门用于离开登录 shell?

使用 Ctrl+D 或关闭终端

在空的交互式提示符下按 Ctrl+D,通常会提供终端的文件结束输入字符。Bash 一般把这种情况解释为退出请求。它不是信号,而且 Bash 的 ignoreeof 等 shell 设置可以改变这一行为。

关闭图形终端窗口会要求终端应用关闭其中的进程,也可能影响正在运行的任务。条件允许时应优先有序执行 exit,关闭会话前先检查是否还有活动工作。

课程已完成

你已完成 exit 命令

现在,你可以离开当前 shell,并传达它的完成状态。

  • 使用 exit 返回当前 shell 的调用者。

  • 0 表示成功,或按定义使用非零状态。

  • 理解不带参数的 exit 使用什么状态。

  • 只在登录 shell 中使用 logout

  • 知道 Ctrl+D 表示文件结束输入,而不是信号。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
返回 命令行