Skip to content

Latest commit

 

History

History
74 lines (61 loc) · 2.61 KB

脚本退出.md

File metadata and controls

74 lines (61 loc) · 2.61 KB

脚本退出(exit命令)

  • Linux 中,每个命令执行完成后都会返回一个退出状态码,通知系统命令执行完成。 退出状态码是 0~255 的一个正整数,在命令执行结束后由命令传给解释程序。 通常情况下,可以根据这个值来判断命令是否执行成功。Linux 提供了变量$?存最近执行的命令的退出状态码,当一个命令执行完成后, 可以通过$?到命令的退出码,如下:

    • 通过变量$?查看命令执行的退出码

      cd /home/hadoop01/bash01
      echo "$?"
      mkdir logs
      echo "$?"
      
  • 常见的命令退出状态码:

    状态码 说明
    0 命令成功结束
    1 未知错误
    2 误用 Shell 命令
    126 命令不可执行
    127 命令没有找到
    128 无效退出参数

    一个命令成功执行结束返回的状态码是 0,如果命令执行出现错误会返回一个非 0 的正整数。

一、exit 命令

如果只在命令提示符下键入 exit,将退出当前进程。如果在脚本中使用 exit 命令,会将 exit 命令之前的一个命令退出码返回。通常情况下:退出状态为 0 表示命令执行成功,而非 0 退出码说明命令没有执行成功。

  • 可以使用 exit 命令在脚本中指定退出码,如下所示。

    cd /home/hadoop01/bash01
    mkdir logs
    exit 0
    
  • 命令 exit 可以在分支语句中使用,根据条件退出脚本执行并返回退出码,在父脚本中作 为判断的条件。注意:退出码可以指定,但不要超过取值范围。退出码的取值范围是 0~255,如果超出范围会返回 256 的余数。

    if 创建目录
    then
     cd 目录
     创建文件
    else
     exit 1
    fi
    
  • 例子:在命令行上测试命令执行后的退出码

  • 例子:在脚本中,返回的退出码是最后一条命令的退出码