shell脚本:exit 0 和 exit 1有什么区别?他们和return不同,return是关键字,exit是一个shell函数
定义
exit 0 :正常运行程序并退出程序。使用
echo $?
返回0,也就是说调用环境认为你的程序执行正常。exit 1 :非正常运行导致退出程序,也可以是其他数字。系统程序对于程序运行错误是有约定含义的,不为 0 就表示程序运行出错。调用环境根据这个返回值,判断你的程序运行是否正常。
return :用于返回值。若在主函数中,则会退出函数并返回一个值。
区别
return是一个关键字; exit 是一个函数
return是编程语言级别,它表示调用堆栈的返回;exit是系统调用级别,它表示了一个进程的结束
return是函数的退出(返回);exit是进程的退出
return是编程语言提供,exit是操作系统提供(或者函数库中给出)
return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit用于退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和操作系统有关,一般 0 为正常退出,非0 为异常退出
非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的
用途
注:在接口函数中使用 return,在需要退出执行(子 shell)程序时使用 exit
#/bin/bashfunction check_extern_input() {read paramif [ "${param}" == "exit 0" ];thenecho "successful exit process right now!"exit 0elif [ "${param}" == "exit 1" ];thenecho "failed exit process right now!"exit 1elif [ "${param}" == "return 0" ];thenecho "func normal return, process not exit, Enter go on..."return 0elseecho "Input again:"fi
}while true ; docheck_extern_input
done
shell脚本:exit 0 和 exit 1有什么区别?_Locutus的博客-CSDN博客_shell中exit1和exit0的区别
shell脚本:exit 0 和 exit 1有什么区别?他们和return不同,return是关键字,exit是一个shell函数相关推荐
- Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义以及linux命令执行返回值代表意义
Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义以及linux命令执行返回值意义 (1) Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 1.1.简要说明 ps: ...
- linux 脚本$字符,一文看懂shell脚本中$0 $1 $# $@ $* $? $$ 的各种符号意义
概述 shell中有两类字符,一类是普通字符,在Shell中除了本身的字面意思外没有其他特殊意义,即普通纯文本:另一类即元字符,是Shell的保留字符,在Shell中有着特殊的含义. 今天主要介绍一下 ...
- Linux学习总结(67)——shell脚本中$0 $1 $# $@ $* $? $ 等总结
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ...
- shell脚本中$0,$1,$2的含义
我们经常见到shell脚本中使用的$0,$1,$2,分别的意思就是: $0:是指你所写的shell脚本本身的名字: $1:是指你写的shell脚本所传入的第一个参数 : $2:是指你写的shell脚本 ...
- linux命令和shell语言的区别,shell脚本语言与linux命令的联系与区别
使用linux确定是要会使用命令的,就算提供有用户界面,绝大部分功能仍是要经过命令行去操做的.而shell脚本语言也是运行在linux上的脚本语言,对于服务器运维人员也是几乎必需要掌握的.而shell ...
- Shell脚本中$0、$?、$!、$$、$*、$#、$@
1. $$ Shell本身的PID(ProcessID) 2. $! Shell最后运行的后台Process的PID 3. $? 最后运行的命令的结束代码(返回值) 4. $- 使用Set命令设定的F ...
- shell脚本头,#!/bin/sh与#!/bin/bash的区别.
因为今天写了个小脚本,死活不成功,总是报文件或者目录不存在,问了一下我们马同学的正常写法,发现只有脚本头的区别,也就是今天本文要讲的#!/bin/sh与#!/bin/bash. 本文参考:https: ...
- shell脚本的基础知识
shell脚本的基础知识 1 什么是shell 2 shell脚本的意义 3 如何创建shell脚本 4 如何执行shell脚本 5如何对脚本脚本进行调试 6 脚本练习 1 什么是shell shel ...
- 【C语言】exit(0)与exit(1)有什么区别
C语言中_exit(),exit(0)与exit(1)有什么区别? 今天天气有点冷,当我在写消息队列的程序的时候,遇到了结束进程的这个问题,突然脑海里有点混乱,我是用_exit(),还是用exit(1 ...
- C语言中exit(0)与exit(1)的区别
C语言中_exit(),exit(0)与exit(1)有什么区别 今天天气有点冷,当我在写消息队列的程序的时候,遇到了结束进程的这个问题,突然脑海里有点混乱,我是用_exit(),还是用exit(1) ...
最新文章
- 软件测试2019:第二次作业
- Py:Python实现好莱坞《黑客》影视中珠帘似吊炸天的华丽动态加密页面
- Spring boot修改静态资源映射
- Delphi编写后台监控软件
- 诊断SQLSERVER问题常用的日志
- mysql数据库的多实例_MySQL数据库多实例应用实战 - 橙子柠檬's Blog
- Codeforece E. Anton and Permutation
- 斯坦福大学CS143编译原理课程笔记:2.编译器结构
- About 产量数据选取问题
- 【kali】kali2020.2安装 超级详细教程
- 学习笔记(03):ArcGIS10.X入门实战视频教程(GIS思维)-坐标系与地理坐标系
- 手把手教你配置苹果APNS推送服务
- 关于STM32F4xx的GPIO
- 年产2万吨山楂酒工厂的设计-发酵工段及车间的设计(lunwen+任务书+cad图纸)
- Delphi 取得 iOS 辅助使用里的字型大小
- sql常用操作(含指定位置添加字段、修改到指定位置后等)
- linux下phy接光模块,C6638,linux mac to mac 模式(没PHY),接SFP+模块,通过光纤(30cm)与PC连接。在PC显示该网络链路为10Gbps,网口问题...
- Java屏幕截图低分辨率问题解决
- 智能宠物喂食器方案软硬件设计
- 项目上有个红色感叹号