ksh 命令退出状态
-- Start
每个 Linux 命令,脚本或函数都有一个退出状态,它用来指示该命令,脚本或函数是否执行成功。0 代表成功,其他值(1-255) 代表失败。
退出状态 描述
1-125 命令执行失败
2 命令使用错误,如参数传递不正确
126 命令不可执行
127 找不到命令
128-255 外部命令执行失败
256 由于一个信号,命令终止
对于函数来说,我们可以使用 return 语句来返回退出状态,如果一个函数没有 return 语句,默认返回函数中最后执行语句的的退出状态。对于脚本来说,我们可以使用 exit 语句来返回退出状态,如果一个脚本没有 exit 语句,默认返回脚本中最后执行语句的的退出状态。有一点需要特别注意,当脚本中的一条命令执行失败时,整个脚本并不会停止运行,所以对于可能出错的命令,我们最好检查它的退出状态,我们可以通过变量 $? 来得到它的退出状态。下面是一个简单的例子。
#!/bin/ksh grep test test.txt > /dev/null;exit_code=$?;
if [[ $exit_code -ne 0 ]]; then print "command failed."exit 1;
fi
事实上,我们可以把命令直接写在 if 语句中,如下:
#!/bin/ksh if grep test test.txt > /dev/null; then print "command success.";
elseprint "command failed.";exit 1;
fi
如果每条语句都这么检查退出状态,那么你的脚本会很长,其实,我们还可以这么写。
#!/bin/ksh # 利用逻辑运算符的短路特性
grep test test.txt > /dev/null && print "command success."
grep test test.txt > /dev/null || print "command failed.";exit 1
-- 更多参见: ksh 精萃
-- 声 明:转载请注明出处
-- Last Updated on 2015-09-29
-- Written by ShangBo on 2015-09-29
-- End
ksh 命令退出状态相关推荐
- 安装脚本退出,并显示错误:命令“ x86_64-linux-gnu-gcc”失败,退出状态为1
本文翻译自:setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 When ...
- bash之流程控制for循环及bash命令退出和退出状态码
一.for循环定义: 将一段代码反复执行:----->进入条件;------> 退出条件; 二.语法格式: for 变量名 in LIST do statement1 ... done f ...
- Shell程序退出状态码的命令详解
在本篇文章当中主要给大家介绍了一些常见的程序退出的状态码!并且给出一下例子帮助大家仔细理解,并且使用C语言和python语言实现获取子进程退出时候的退出状态码. 程序退出状态码 前言 在本篇文章当中主 ...
- Shell编程——退出状态(if语句判断某个命令的退出状态)
以下内容源于C语言中文网的学习与整理,如有侵权,请告知删除. 一.退出状态 (1)不管是 Bash 内置命令,还是外部的 Linux 命令,还是自定义的 Shell 函数,当它运行结束或者退出时,都会 ...
- shell命令执行完的退出状态详解+if语句的定义方法
文章目录 退出状态的原理 $?的作用 退出状态的原理 $?的作用 1.先执行一条命令,再去echo $?查看数字 2.一般情况下0表示上一条命令执行正确,非0表示错误(错误原因可以查$?的值) 1.2 ...
- linux退出脚本命令,【Unix/Linux.Shell Script】退出状态,exit命令
每一条命令,不管是内置,shell函数,还是外部的,当它退出时,都会返回一个小的整数值给引用它的程序,这是程序的退出状态. 在shell下执行程序时,有许多方式可以取出程序的退出状态. 退出状态值 以 ...
- linux获取命令的返回值,Shell $?:获取函数返回值或者上一个命令的退出状态
$?是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值. 所谓退出状态,就是上一个命令执行后的返回结果.退出状态是一个数字,一般情况下,大部分命令执行成功会返回0,失败返回1,这和C ...
- linux里返回状态命令行,Shell $?获取函数返回值或者上一个命令的退出状态
$? 是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值. 所谓退出状态,就是上一个命令执行后的返回结果.退出状态是一个数字,一般情况下,大部分命令执行成功会返回 0,失败返回 1, ...
- SHELL学习——退出状态、测试(整数\字符串\ 文件\逻辑运算符)
退出状态 在Linux系统中,第当命令执行完成后,系统都会有一个退出状态.该退出状态用一整数值表示,用于判断命令运行正确与否. 状态值 含义 0 表示运行成功,程序执行未遇到任何问题 1-125 ...
最新文章
- 校园管理系统需求分析文档
- 帕斯卡命名法 pascal命名法
- java kafka 集群消费_kafka集群简单生产者消费者实例
- 虚拟主机不支持mysql_虚拟主机能用mysql么
- ddr2的上电顺序_关于内存的插入顺序的问题
- Log4j、Log4j 2、JUL、JCL 、SFL4J 、Logback 与 Lombok 的使用
- GARFIELD@01-25-2005
- Gnome 快捷键汇总
- alsa driver--card
- 深度学习常用框架和基础模型
- kali 破解压缩包密码
- 详解云计算中的业务敏捷性
- 【附源码】Python计算机毕业设计民宿客房管理系统
- 多“维”优化——前端高并发策略的更深层思考
- ADA程序实例(面向对象特性之多态)
- 【模型】【课程笔记】01+02+03 金融风险管理导论
- 满江红票房破6亿,你觉得好看吗?
- Excel 2010 VBA 入门 095 数据处理之用数组实现分列
- 两个电阻的并联与串联
- python 领英爬虫
热门文章
- Plantuml类图用法
- (UVA1395)Slim Span(A)
- 帝国cms搜索php分页,帝国cms灵动标签分页的实现方法
- iframe中加入html,HTML中IFRAME标签的使用
- MIS迭代一:增删改查功能测试
- [问题]假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”):
- 改进YOLOv7系列:首发结合最新Centralized Feature Pyramid集中特征金字塔,通过COCO数据集验证强势涨点
- Netstat命令使用方法
- Canal Java 入门与使用
- 报错:<generator object <genexpr> at 0x7fa9adc46eb0>