zoukankan      html  css  js  c++  java
  • Linux Shell编程(11)——退出和退出状态

    exit命令一般用于结束一个脚本,就像C语言的exit一样。它也能返回一个值给父进程。


    每一个命令都能返回一个退出状态(有时也看做返回状态).一个命令执行成功返回0,一个执行不成功的命令则返回一个非零值,此值通常可以被解释成一个对应的错误值。除了一些例外的情况,一个行为端庄的UNIX命令,程序或是软件包执行成功能返回0的作为退出码。


    同样的,在脚本里的函数和脚本自身都会返回一个退出状态码。在脚本或函数里被执行的最后一个命令将决定退出状态码。在一个脚本里,exit nnn 命令将会返回shell一个nnn的退出状态码。(nnn必须是一个在0-255范围的十进制整数)。



    如果一个脚本以不带参数的exit命令结束,脚本的退出状态码将会是执行exit命令前的最后一个命令的退出码。
    #!/bin/bash
    COMMAND_1
    . . .
    # 脚本将会以最后命令COMMAND_LAST的状态码退出。
    COMMAND_LAST
    exit



    脚本结束没有exit,不带参数的exit和exit $?三者是等价的。

    #!/bin/bash
    COMMAND_1
    . . .
    # 会以最后命令的退出码退出脚本.
    COMMAND_LAST
    exit $?


      
    #!/bin/bash
    COMMAND1
    . . . 
    # 会以最后命令的退出码退出脚本.
    COMMAND_LAST

    $?变量保存了最后一个命令执行后的退出状态。当一个函数返回时,$?保存了函数里最后一个命令的退出状态码。这就是Bash里函数返回值的处理办法。当一个脚本运行结束,$? 变量保存脚本的退出状态,而脚本的退出状态则是脚本中最后一个已执行命令的退出状态。并且依照惯例,0表示执行成功,1-255的整数范围表示错误。
  • 相关阅读:
    iOS各种证书
    Error No matching provisioning profiles found
    iOS 一个开发者账号 多台Mac 共用
    外中断(学习汇编)
    端口(学习汇编)
    8086CPU寄存器
    int指令(学习汇编)
    内中断(学习汇编)
    标志寄存器(学习汇编)
    CALL和RET指令(学习汇编)
  • 原文地址:https://www.cnblogs.com/new0801/p/6176869.html
Copyright © 2011-2022 走看看