广告
返回顶部
首页 > 资讯 > 精选 >Shell中exit和return的区别有哪些
  • 442
分享到

Shell中exit和return的区别有哪些

2023-06-09 13:06:29 442人浏览 独家记忆
摘要

这篇文章主要介绍了shell中exit和return的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.exit命令exit命令是Shell内建命令,用于退出当前S

这篇文章主要介绍了shell中exit和return的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1.exit命令

exit命令是Shell内建命令,用于退出当前Shell进程。使用格式如下:

exit [<n>]

可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异常退出。如果状态码是0-255之外的数值,则会被强制转换为uint8_t类型的数值,比如-1会被转换为255,256会发生类型宽度截断,被转换为0。状态码n可以不指定,默认是上一条命令的退出状态码。

关于状态码值的定义尚未有统一的标准,但是结束程序时随意的指定一个状态码是一个不好的行为,应该使用统一的状态码。这样便于调用者更具状态码快速粗略地推断出被调的状态,而不用去查找状态码的具体含义。当然实际的状态码值可以自定义,项目中统一即可,但还是推荐使用GNU C的头文件<sysexits.h>中对于状态码的定义。

#define EX_OK      0    #define EX__BASE    64   #define EX_USAGE    64   #define EX_DATAERR   65   #define EX_NOINPUT   66   #define EX_NOUSER    67   #define EX_NOHOST    68   #define EX_UNAVaiLABLE 69   #define EX_SOFTWARE   70   #define EX_OSERR    71   #define EX_OSFILE    72   #define EX_CANTCREAT  73   #define EX_ioERR    74   #define EX_TEMPFAIL   75   #define EX_PROTOCOL   76   #define EX_NOPERM    77   #define EX_CONFIG    78   #define EX__MAX    78   

2.return关键字

return是语言级别的一个关键字,用于结束函数并返回一个结果。return不带参数时,则会返回函数体中最后一个命令的返回值。

return也可以用于使用 . 或source的方式包含的子Shell脚本中,可以返回指定的状态或者脚本中最后一个命令的exit status。比如如下脚本:

#!/bin/bashif [ $# -ne 1 ]then echo "please input parameter"  return 1fi

上面的脚本如果直接执行则会报如下错误:

return: can only`return' from a function or sourced script

但是如果使用 . 或souce的方式被包含到父Shell中,则可以正常运行。

3.exit与return的区别

  • (1)作用不同。exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程。而return是返回函数值并退出函数;

  • (2)语义层级不同。return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束;

  • (3)使用方法不用。return一般用在函数方法体内,exit可以出现在Shell脚本中的任意位置。

感谢你能够认真阅读完这篇文章,希望小编分享的“Shell中exit和return的区别有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: Shell中exit和return的区别有哪些

本文链接: https://www.lsjlt.com/news/256185.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell中exit和return的区别有哪些
    这篇文章主要介绍了Shell中exit和return的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.exit命令exit命令是Shell内建命令,用于退出当前S...
    99+
    2023-06-09
  • Shell中exit和return的区别讲解
    1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程。使用格式如下: exit [<n>] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异...
    99+
    2022-06-04
    shell中exit和return shell中exit和return的区别讲解
  • SHELL中的exit 0 和 exit 1有什么区别
    在SHELL脚本中,exit 0和exit 1是用来表示命令或脚本的执行状态的两个特定的退出码。这两个退出码有以下区别:1. exi...
    99+
    2023-09-16
    SHELL
  • php中exit和die的区别有哪些
    小编给大家分享一下php中exit和die的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的框架有哪些php的框架:1、Laravel,Larav...
    99+
    2023-06-14
  • c语言中exit和return的区别点总结
    1、返回函数值的return是关键字,exit是一个函数。 return是语言级的,它表示调用堆栈的返回;exit是系统调用级的,它表示一个过程的结束。 2、return是函数的退出...
    99+
    2022-11-12
  • shell中的exit 0和exit 1的区别是什么
    在shell中,exit 0和exit 1是退出命令(exit command)。它们用于在脚本执行过程中,指示脚本的退出状态。- ...
    99+
    2023-09-21
    shell
  • C语言中return、exit和abort的区别是什么
    这篇文章将为大家详细讲解有关C语言中return、exit和abort的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一般情况下,在C语言中退出一个程序用return,如果在mai...
    99+
    2023-06-22
  • linux shell中“.” 和 “./”执行的区别有哪些
    这篇文章将为大家详细讲解有关linux shell中“.” 和 “./”执行的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作...
    99+
    2023-06-09
  • C语言中的return true和return false有什么区别
    在C语言中,return true和return false是用于表示一个函数的返回值是真(true)或假(false)。它们的区别...
    99+
    2023-08-19
    C语言
  • python中return和print有什么区别
    本篇文章给大家分享的是有关python中return和print有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python主要用来做什么Python主要应用于:1、W...
    99+
    2023-06-14
  • Python3 中return和yield的区别
    目录一、前言二、return和yield的异同三、实例说明1 return版本2 yield版本3 yield的意义四、yield和return嵌套使用一、前言 return一直中,...
    99+
    2022-11-11
  • Shell和Unix有哪些共同点和区别?
    Shell和Unix是计算机科学领域中的两个重要概念,它们都对于操作系统和软件开发起着至关重要的作用。在本文中,我们将会探讨Shell和Unix之间的共同点和区别,并演示一些相关的代码。 Shell是一种命令行解释器,是Unix和类Unix...
    99+
    2023-06-16
    numy shell unix
  • Shell编程中while与for的区别有哪些
    这篇文章给大家分享的是有关Shell编程中while与for的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、常用语法1、for循环for循环常用的语法结构有如下几种:for 变量 in seq字符串...
    99+
    2023-06-09
  • js中==和===的区别有哪些
    这篇文章将为大家详细讲解有关js中==和===的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为JavaScri...
    99+
    2023-06-15
  • Kotlin中?和!!的区别有哪些
    这篇文章给大家分享的是有关Kotlin中和!!的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言很多同学刚上手使用Kotlin知道它有针对Java NullPointerException的管理,而在...
    99+
    2023-06-14
  • Numpy.array中[:]和[::]的区别有哪些
    小编给大家分享一下Numpy.array中[:]和[::]的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!array([:])>>>&...
    99+
    2023-06-15
  • mysql中:=和=有哪些区别
    这篇文章主要介绍了mysql中:=和=有哪些区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。:=和=的区别= 只有在set和update时...
    99+
    2022-10-18
  • MyBatis中#{}和${}有哪些区别
    目录前言#{} 和 ${} 的区别#{} 和 ${} 的实例:假设传入参数为 1实例步骤一实例步骤二实例步骤三#{} 和 ${} 的大括号中的值#{} 和 ${} 在使用中的技巧和建...
    99+
    2022-11-12
  • Python3中return和yield的区别是什么
    这篇文章主要讲解了“Python3中return和yield的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3中return和yield的区别是什么”吧!一、前言ret...
    99+
    2023-07-02
  • php中echo和return的区别是什么
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑项目中碰到的问题,本来是想在控制器直接return $xml的($xml是一段xml格式的代码),但是测试却发现什么都没有输出。换成echo $xml;就成功了,所以特...
    99+
    2018-04-25
    php echo return
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作