Linux常用命令学习笔记:exit

命令概述

exit命令用于退出当前的shell会话或脚本执行。该命令会终止当前shell进程,并返回一个退出状态码给父进程。

语法格式

exit [状态码]

参数说明

  • 状态码:可选参数,指定退出时的状态码,范围是0-255
    • 0表示成功退出
    • 非0表示异常退出
    • 如果不指定状态码,默认使用上一条命令的退出状态

使用示例

1. 退出当前shell

exit

直接退出当前终端会话

2. 指定退出状态码

exit 0    # 成功退出
exit 1    # 异常退出
exit 255  # 最大状态码

3. 在脚本中使用

#!/bin/bash

# 检查文件是否存在
if [ ! -f "config.txt" ]; then
    echo "配置文件不存在"
    exit 1
fi

# 正常执行
echo "开始处理..."
exit 0

4. 结合条件判断

# 检查命令执行结果
grep "error" logfile.txt
if [ $? -ne 0 ]; then
    echo "未找到错误信息"
    exit 0
else
    echo "发现错误"
    exit 1
fi

退出状态码含义

状态码含义说明
0成功命令执行成功
1一般错误通用错误代码
2误用shell命令命令使用错误
126命令不可执行权限不足或文件不存在
127命令未找到命令不存在
128无效退出参数退出状态码超出范围
130被Ctrl+C终止用户中断
255状态码越界超出0-255范围

实际应用场景

1. 脚本参数检查

#!/bin/bash

# 检查参数个数
if [ $# -lt 2 ]; then
    echo "用法: $0 <源文件> <目标文件>"
    exit 1
fi

# 检查源文件是否存在
if [ ! -f "$1" ]; then
    echo "错误: 源文件 $1 不存在"
    exit 1
fi

# 正常处理
cp "$1" "$2"
exit 0

2. 服务启动检查

#!/bin/bash

# 检查服务是否已启动
if systemctl is-active nginx >/dev/null 2>&1; then
    echo "Nginx服务已启动"
    exit 0
else
    echo "Nginx服务未启动"
    exit 1
fi

3. 获取上一条命令的退出状态

ls /nonexistent
echo "退出状态: $?"
# 输出: 退出状态: 2

注意事项

  • 在终端中执行exit会关闭当前会话
  • 在脚本中使用exit会终止脚本执行
  • 状态码0表示成功,非0表示失败
  • 状态码范围是0-255,超出范围会取模
  • 可以使用$?获取上一条命令的退出状态

相关命令

  • return:在函数中返回退出状态
  • trap:捕获信号并执行命令
  • kill:终止进程
  • logout:退出登录会话

作 者:南烛
链 接:https://www.itnotes.top/archives/551
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇