首页
学习
活动
专区
圈层
工具
发布

Shell中exit和return的区别

或source的方式包含的子Shell脚本中,可以返回指定的状态或者脚本中最后一个命令的exit status。比如如下脚本: #!...或 souce的方式被包含到父Shell中,则可以正常运行。 3.exit与return的区别 (1)作用不同。exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。...exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程。而return是返回函数值并退出函数; (2)语义层级不同。...return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束; (3)使用方法不用。...return一般用在函数方法体内,exit可以出现Shell脚本中的任意位置。 ---- 参考文献 [1]exit manual [2]sysexits.h

5.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP中exit,exit(0),exit(1),exit(‘0’),exit(‘1’),die,return的区别

    该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。 参考:虽然两者相同,但通常使用中也有细微的选择性。...当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。...; exit('1'); echo "end"; //输出begin1 return 返回值,后续的程序也不执行,值并不输出 echo "begin"; return 1; echo "end"; //...输出begin,return的值没有输出到屏幕,而是返回给了上一层 总结: return 是返回值 die是遇到错误才停止 exit 是直接停止,并且不运行后续代码, exit ()可以显示内容。...return 就是纯粹的返回值了,但是也不会运行后续代码 exit (0):正常运行程序并退出程序; exit (1):非正常运行导致退出程序; 发布者:全栈程序员栈长,转载请注明出处:https://

    2.2K20

    return语句的用法

    HTML5学堂:在函数当中,存在着return语句,今天我们就主要讲解一下return在函数中的作用,也来提一提return的默认值是多少,还有就是return语句的返回内容,在书写时需要注意什么。...return在函数中的作用 我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。...return语句的另一个特点,则在于在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。...因此我们可以通过return语句控制函数是否结束。 return的默认值 在一些函数当中,我们有书写return语句,但是在有些函数中并没有出现return语句,那么此时,这些函数的返回值是多少呢?...此处主要涉及的是JS语法的问题,在JS中,默认用分号结束一条语句,在return之后存在一个换行符,虽然没有分号,但是系统会默认为一句话的结束,增加一个分号,于是,上面JS代码中的return语句部分就等价于如下代码

    1.7K50

    Javascript中的Return,Return false和Return true

    Javascript的返回值 Javascript中的返回值总共分为四类: return; return false; return true; return variable(变量); 这四种返回值其实有很大的不同...,(function(){return;})可以看做是匿名函数的名字,类似于add()中的add,后面的()表示执行这个匿名函数,类似于执行add()函数。...i为匿名函数function(){return;}的返回值,注意:在Javascript中函数都有返回值,默认的函数返回值为undefined。...但在事件函数中,return false表示不执行事件的响应函数,例如,浏览器中浏览页面时点击一个button,button响应函数中有return false,这意味着当点击button时,不进行click...5. return variable return variable主要是在Javascript中定义一个变量,在函数中进行返回,与通常的返回变量没有区别。

    3.2K10

    再谈try{ return }finally{}中的return?

    简单翻译: 如果try语句块里有return,那么代码的行为如下: 1.如果有返回值,就把返回值(如果存在)保存到局部变量中 2.执行jsr指令跳到finally语句块里执行 3.执行完finally语句块后...中的基本数据类型。...(1)JDK自带的引用类型: (2)自定义的引用类型: 小结: (1)不管try{}、catch{}中是否有return语句,finally{}都会执行,除非未执行到finally{}时,执行当前...Function的Thread被interrupted 或killed; (2)finally{}中没有return语句时, 如果try{}或catch{}返回值是基本数据类型或其包装类时,finally...语句会的覆盖之前try{}、catch{}中的return语句; (3)如果finally{}中包含了return语句,即使前面的catch{}重新抛出了异常,则调用该方法的语句也不会获得catch{}

    1.9K40

    yield from 关键字的 return 语句

    我经常需要写一些比较复杂的代码,常常会遇到各种各样的问题。比如我在使用yield from 表达式时,return 语句的问题。...我们知道,在使用 yield from 表达式时,return 语句的作用是在子生成器(被调用的生成器)执行完毕后,返回最终的结果到调用者。这可以让生成器在嵌套结构中更清晰地传递值。...,子生成器被允许执行带有值的 return 语句,该值变为 yield from 表达式的值。...在 "yield from" 语句中,子生成器中的 return 语句是如何工作的?...return4 函数现在是一个生成器。为实现这一目标,必须在函数中任何地方出现 yield(Python 3.5 中有一个新的相关特性,但现在并不重要)。

    27710

    shell中的exit 0和exit 1「建议收藏」

    exit 0:正常运行程序并退出程序; exit 1:非正常运行导致退出程序; exit 0 可以告知你的程序的使用者:你的程序是正常结束的。...如果 exit 非 0 值,那么你的程序的使用者通常会认为 你的程序产生了一个错误。 在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。...在 shell 脚本中,通常会根据 上一个命令的 $? 值来进行一些流程控制。 当你 exit 0 的时候,在调用环境 echo $?...就返回0,也就是说调用环境就认为你的这个程序执行正确 当你 exit 1 的时候,一般是出错定义这个1,也可以是其他数字,很多系统程序这个错误编号是有约定的含义的。...如果你用 脚本 a 调用 脚本b ,要在a中判断b是否正常返回,就是根据 exit 0 or 1 来识别。 执行完b后, 判断 $?

    3.9K30

    break和continue return_break语句和continue语句的区别

    前言 一般刚开始遇到这三个关键字,都会有点乱,return还好,特别是break和continue,特别容易搞混,所以这里记录一下 正文 1、return :直接跳出当前的方法,返回到该调用的方法的语句处...三个测试函数: package aa; public class Test { public static void main(String[] args) { testBreak...只是结束了本次循环, return: 当i = 3时,执行return后,不仅结束了循环,而且结束了方法,直接回到主函数了,所以return的作用...,主要多用于循环和switch结构中 这里说一下,我上面说的结构,是指循环体结构结构,switch结构等,不知道怎么形容了这种东西了,哈哈,感觉语法结构咋一听也不知道是什么,解释一下哈 理解好这个三个关键字...注意: 当前两个字,是指当前所在的结构,例如下面当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体 代码: breakbreak /** * break

    1.4K20

    python中exit()的用法

    最近在学习的时候用到exit(),发现对它的用法还不熟悉,通过查阅网上的资料,对exit()的用法做一个简单的整理。..._exit(n), 直接退出, 不抛异常, 不执行相关清理工作。常用在子进程的退出。 exit()/quit(),跑出SystemExit异常。一般在交互式shell中退出时使用。...exit(0) 有什么功能? 在很多类型的操作系统里,exit(0) 可以中断某个程序,而其中的数字参数则用来表示程序是否是碰到错误而中断。...exit(1) 表示发生了错误,而 exit(0) 则表示程序是正常退出的。这和我们学的布尔逻辑 0==False 正好相反,不过你可以用不一样的数字表示不同的错误结果。...比如你可以用exit(100) 来表示另一种和 exit(2)或 exit(1) 不同的错误。

    4.1K20
    领券