zoukankan      html  css  js  c++  java
  • Linux Shell学习笔记:exit退出状态代码

    inux提供$?特殊变量来保存最后一条命令执行结束的退出状态。执行完一条命令后,立即执行echo$?,可以查看最后一条命令的退出状态值。

    正常的情况下,命令成功执行完成的退出状态是0,如果非0,则命令执行有错。
    该命令可以用于检查命令是否正确执行,比如在解压包的时候,检查解压包是否成功十分有效。

    自定义退出状态码,可以在脚本中定义自己的退出状态代码,然后使用echo $?检查。

    退出状态码最高是255,一般自定义的代码值为0~255,如果超出255,则返回该数值被256除了之后的余数。



    退出状态代码:

    0 命令成功完成

    1通常的未知错误

    2误用shell命令

    126命令无法执行

    127没有找到命令

    128无效的退出参数

    128+x使用Linux信号x的致命错误。

    130使用Ctrl-C终止的命令

    255规范外的退出状态

    ubuntu下测试结果如下

    wl@wl-MS-7673:/home/python$ date
    2013年 11月 14日 星期四 19:12:45 CST
    wl@wl-MS-7673:/home/python$ echo $?
    0
    wl@wl-MS-7673:/home/python$ kkllk
    kkllk: command not found
    wl@wl-MS-7673:/home/python$ echo $?
    127
    wl@wl-MS-7673:/home/python$ ls
    hello.py  hello.py~
    wl@wl-MS-7673:/home/python$ vim a.c
    wl@wl-MS-7673:/home/python$ ls
    hello.py  hello.py~
    wl@wl-MS-7673:/home/python$ gedit a.c
    wl@wl-MS-7673:/home/python$ ./hello.py
    bash: ./hello.py: 权限不够
    wl@wl-MS-7673:/home/python$ echo $?
    126
    wl@wl-MS-7673:/home/python$ date %t
    date: 无效的日期"%t"
    wl@wl-MS-7673:/home/python$ echo $?
    1
    wl@wl-MS-7673:/home/python$ 
    


    root@wl-MS-7673:~# ls -sail test
    790207 4 -rwxr--r-- 1 root root 30 11月 14 19:25 test
    root@wl-MS-7673:~# ./test
    root@wl-MS-7673:~# echo $?
    44
    root@wl-MS-7673:~# cat test
    #!/bin/bash
    var=300
    exit $var
    root@wl-MS-7673:~# 
    


  • 相关阅读:
    <DC guide ---6>
    <DC guide ---5>
    <DC guide ---3>
    <DC guide ---4>
    linux下的EDA——VCS使用
    xilinx小实验——chipscope指导
    VGA控制的verilog模块设计
    verilog时钟分频设计(整合模块)
    verilog时钟分频设计
    testbench——双向端口的仿真
  • 原文地址:https://www.cnblogs.com/riskyer/p/3424002.html
Copyright © 2011-2022 走看看