【问题标题】:Exit code of a sourced shell script源 shell 脚本的退出代码
【发布时间】:2013-01-26 04:54:24
【问题描述】:

Shell 脚本可以被获取,即在当前的 shell 中执行,比如

. ~/some_script.sh

但它们也可以通过子shell调用,例如

/bin/bash ~/another_script.sh

编写一个脚本时,我将其方案从采购更改为子shell,然后再返回采购。有些事情让写作变得不同。现在我被退出状态困住了,因为我不确定——return 状态会干扰exit 产生的那些状态吗?因为tldp 上写了一些状态是保留的,但是所有的例子都是关于exit 指令的。那么这些限制是否也与返回码有关?

我在 ABS 指南中找到的所有有用之处是 'A return 命令可选地接受一个整数参数,该参数作为函数的“退出状态”返回给调用脚本,并分配此退出状态到变量 $?.',但我对 'as' 有疑问,并在“退出状态”周围加上引号。

【问题讨论】:

    标签: bash return exit-code


    【解决方案1】:

    return 和 exit 返回的代码是相同的,关键字只是在不同的上下文中使用(return 用于从函数和采购返回,exit 用于退出当前 shell)。

    它们本身不会相互干扰,但不带参数的exit 或return 将使用前一个命令的返回值,该值可能已在另一个exit 或return 中指定声明。

    【讨论】:

    • 你需要什么样的例子?
    • 第一篇文章中有 tldp.org 的链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    相关资源
    最近更新 更多