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$ date2013年 11月 14日 星期四 19:12:45 CSTwl@wl-MS-7673:/home/python$ echo $?0wl@wl-MS-7673:/home/python$ kkllkkkllk: command not foundwl@wl-MS-7673:/home/python$ echo $?127wl@wl-MS-7673:/home/python$ lshello.py hello.py~wl@wl-MS-7673:/home/python$ vim a.cwl@wl-MS-7673:/home/python$ lshello.py hello.py~wl@wl-MS-7673:/home/python$ gedit a.cwl@wl-MS-7673:/home/python$ ./hello.pybash: ./hello.py: 权限不够wl@wl-MS-7673:/home/python$ echo $?126wl@wl-MS-7673:/home/python$ date %tdate: 无效的日期"%t"wl@wl-MS-7673:/home/python$ echo $?1wl@wl-MS-7673:/home/python$
root@wl-MS-7673:~# ls -sail test790207 4 -rwxr--r-- 1 root root 30 11月 14 19:25 testroot@wl-MS-7673:~# ./testroot@wl-MS-7673:~# echo $?44root@wl-MS-7673:~# cat test#!/bin/bashvar=300exit $varroot@wl-MS-7673:~#

Linux Shell学习笔记:exit退出状态代码相关推荐

  1. linux系统学习笔记9——CANOpen状态转换

    CANopen CANopen状态转换 CANopen状态转换 从节点上电和内部初始化之后自动进入预损作状太(Pre-operational State),在进入预操作之前,发送标准的启动对象(Boo ...

  2. Linux shell 学习笔记(7)— 构建基本脚本(变量、重定向、管道、状态码)

    1. 使用多个命令 如果要两个命令一起运行,可以把它们放在同一行中,彼此间用分号隔开. $ date ; who Mon Feb 21 15:36:09 EST 2014 Christine tty2 ...

  3. Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)

    1. 命令行参数 向 shell 脚本传递数据的最基本方法是使用命令行参数.命令行参数允许在运行脚本时向命令行添加数据. $ ./addem 10 30 本例向脚本 addem 传递了两个命令行参数( ...

  4. Linux shell 学习笔记(9)— 循环语句(for、while)以及更改字段分隔符

    1. for 语句 bash shell 中 for 命令的基本格式如以下,$var 变量包含着这次迭代对应的当前列表项中的值. for var in list docommands done 也可以 ...

  5. Linux shell 学习笔记(3)— shell 父子关系及内建命令

    1. shell 类型 只要用户登录到某个虚拟控制台终端或是在 GUI 中启动终端仿真器,默认的 shell 程序就会开始运行. 默认的交互 shell 会在用户登录某个虚拟控制台终端或在 GUI 中 ...

  6. linux shell学习笔记(二) 变量和运算符

    1.什么是shell变量?本地变量.环境变量.变量替换(显示变量).位置变量.标准变量.特殊变量.影响变量的命令 2.本地变量:本地变量在用户现在的shell生命期的脚本中使用 variable-na ...

  7. linux shell 学习笔记

    shell中定义变量形式: yourname='tengxi' 注意等号两边不能有空格,否则会报语法错误 使用变量 echo $yourname 或者 echo ${yourname}(推荐带花括号的 ...

  8. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)

    1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then ​ commands fi 或者 if command; t ...

  9. Linux shell 学习笔记(12)— linux 信号、后台运行脚本、作业控制、定时运行任务

    1. 处理信号 1.1 Linux 信号 常见的 Linux 信号如下表所示: 信号 值 描述 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL ...

最新文章

  1. GitHub/GitLab/Gitee中项目互拷贝后仍保留历史提交记录的方法
  2. codeforces 922E
  3. java文件操作和_JAVA文件操作类和文件夹的操作
  4. android-x86 镜像iso下载_2019年微软MSDN原版镜像系统下载地址 Win10/7原版系统iso镜像文件...
  5. stm32-再谈GPIO
  6. Android MediaPlayer的生命周期
  7. java基础8 构造函数和构造代码块
  8. 浅谈Android垃圾回收机制
  9. 肯德尔系数怎么分析_2020LPL春季赛3月15日比赛数据的数据分析(Python)
  10. 数据结构与算法实验:实验二 链表实现一元多项式的加法/减法/乘法/求导
  11. oracle把修改成及联,oracle日常操作命令手册(用户管理)-从零到无
  12. 【PHP基础-3】PHP常用运算符
  13. C#调用dll报错:无法加载dll,找不到指定模块
  14. HR终极一问:为啥选择前端?答:混口饭吃。卒。(附网易面经)
  15. OpenGL学习之材质RGB值和光源RGB值关系
  16. Windows下搭建IOS开发环境
  17. 项目 - 基于Docker Swarm的高可用Web集群
  18. C语言大一课设:旭日苑菜品管理系统
  19. 关系数据库——数据库恢复
  20. Tio消息服务器,tio-websocket-spring-boot-starter 的简单使用 原 荐

热门文章

  1. QQ使用的一个小问题
  2. mouse without borders 两台主机共用一套鼠标键盘
  3. aes 和 rsa
  4. Android设置顶部状态栏颜色
  5. 5个人审查5开源视频聊天工具
  6. 西北工业大学 计算机学院 姜,姜学锋(计算机学院)老师 - 西北工业大学 - 院校大全...
  7. hanlp分词学习笔记
  8. 一次使用NodeJS实现网页爬虫记 - huanping - 博客园
  9. 计算机硬件之间是怎样联系的,计算机硬件系统和软件系统有没有联系
  10. 和Oracle差距越来越小,你该了解的MySQL 8.0 SQL优化新特性