shell脚本:exit和return
一、比较
1、return
是一个关键字; exit
是一个函数。
2、return
是编程语言级别
,它表示调用堆栈的返回;exit
是系统调用级别
,它表示了一个进程的结束。
3、return
是函数的退出(返回);exit
是进程的退出。
4、return
是编程语言提供;exit
是操作系统提供(或者函数库中给出)。
5、return
用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit
用于退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和操作系统有关,一般 0 为正常退出,非0为异常退出。
6、非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。
二、特殊用法
1、exit 0
正常运行程序并退出程序
。使用echo $?
返回0,也就是说调用环境认为你的程序执行正常。
2、exit 1
非正常运行导致退出程序,也可以是其他数字,例如exit -1
。系统程序对于程序运行错误是有约定含义的,不为 0 就表示程序运行出错。调用环境根据这个返回值,判断你的程序运行是否正常。
3、return
用于返回值
。若在主函数中,则会退出函数并返回一个值。
4、使用注意
在 shell 编程中,要慎用 exit 0。首先必须弄清楚 exit 0 不是 return 0, 区别在于return 0用于函数中,表示函数执行成功并返回 0
;而exit 0 则表示当前程序执行成功并且直接退出当前执行脚本或程序
。相反,return -1 表示函数执行失败返回错误
;exit 1 (或大于 1)表示程序执行失败并退出程序
。
exit 用来返回进程结束时的状态,一般在父shell中使用变量 $?
来获取子shell 的退出状态,判断子shell是否执行成功
。
shell脚本:exit和return相关推荐
- Shell脚本中的return,exit 0,以及 父进程获取子进程的变量
1 Shell脚本中的return,exit 0 shell脚本中,一般在脚本的函数里面使用return语句,函数中使用return语句后,表示函数执行完毕,函数中return语句后面的代码将不再执行 ...
- shell 脚本 exit 1 报错:numeric argument required问题解决
shell 脚本 exit 1 报错:numeric argument required问题解决 参考文章: (1)shell 脚本 exit 1 报错:numeric argument requir ...
- linux脚本中的exit,Shell中exit和return的区别讲解
1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程.使用格式如下: exit [] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异常退 ...
- Shell 中 exit 和 return 的区别
1.exit 命令 exit 命令是 Shell 内建命令,用于退出当前 Shell 进程.使用格式如下: exit [N] 可以指定退出状态 N,N 的取值范围是 0-255,一般情况下,0 表示正 ...
- Shell脚本学习指南(五)——变量、判断、重复动作
文章目录 前言 变量与算术 变量赋值与环境 参数展开 展开运算符 位置参数 特殊变量 算术展开 退出状态 退出状态值 if-else-else-fi语句 逻辑的NOT.AND与OR test命令 ca ...
- shell脚本:exit 0 和 exit 1有什么区别?他们和return不同,return是关键字,exit是一个shell函数
定义 exit 0 :正常运行程序并退出程序.使用echo $? 返回0,也就是说调用环境认为你的程序执行正常. exit 1 :非正常运行导致退出程序,也可以是其他数字.系统程序对于程序运行错误是有 ...
- shell脚本的exit问题(退出脚本还是退出终端)
2019独角兽企业重金招聘Python工程师标准>>> 今天编写shell脚本.想要程序在运行到一个地方的时候进行判断,结果为真退出程序.运行时直接退出了SecureCRT终端.纠结 ...
- mysql shell eof_shell脚本 exit命令 EOF用法 数组用法
一.exit命令(shell脚本出错不停止,除非显示exit) 格式:exit n 退出,设置退出码为n.(Cause the shell to exit with a status of n.) 格 ...
- Shell脚本循环语句及exit、continue和break用法
目录 一.for循环语句 二.while循环语句结构 三.until 循环语句结构 四.exit.continue和break 一.for循环语句 用法: 读取不同的变量值,用来逐个执行同一组命令 f ...
- matlab脚本终止、暂停的几个函数(pause、error、break、quit、exit、return)
在写脚本的时候用到这些功能并不多,但是偶尔还是需要用到,每次都得重新查--这次整理一下记录几个常见的控制程序走停的函数pause.input.error.warning.break.quit.exit ...
最新文章
- python元组元素的提取比_Python 元组数据类型(tuple)详解 [访问元组元素][修改元组元素][删除元组][学习 Python 必备基础知识][看此一篇就够了]...
- phpsso.php 注入漏洞,PHPCMS各种注入漏洞补丁
- 26 页高清大数据开发代码速查表,提升效率必备!【可下载】
- 一键安装lamp之php插件
- “国际软件自由日”介绍
- 单射(或称单变换)、双射与满射
- Struts2标签库和OGNL
- 走在网页游戏开发的路上(十)
- MySQL5.6忘记root用户名和密码
- dnf剑魂buff等级上限_DNF:又是随机大坑?8月新护石装备可升级,但升3个需要刷半年...
- 关于移植jSON编译时报错sbrkr.c:(.text+0xc): undefined reference to `_sbrk'处理
- python和c先学哪个-C 和 Python语言先学哪个好?
- flex-direction css3属性设定弹性盒子模型子元素反向排列
- 程序员双十一都该买点啥?
- 从单机数据库到分布式数据库,从数据库事务到分布式事务
- bugku-pokergame
- go语言学习:go类型系统
- linux各个文件夹,linux各个目录文件夹含义
- 你那么年轻却窥觑整个世界,你那么浮躁却想要看透生活
- Markdown设置字体大小、颜色、类型、加粗
热门文章
- c语言结构体作为形参是否加struct_(struct)结构体变量作为函数参数调用的方法小结...
- PCB拼板邮票孔制作规范!
- python opencv入门 Meanshift 和 Camshift 算法(40)
- 软考数据库详细知识点整理(全)
- Django的数据库创建、连接与迁移
- homeassistant主动推送信息
- Python各个版本特性
- oracle同步数据adg_[adg数据库同步机制]三分钟读懂Oracle数据库容灾架之DataGuard
- C语言 输入三角形的三条边(a,b,c),计算三角形的面积
- Linux read系统调用之 submit_bio()