gpt4 book ai didi

bash - bash错误陷阱是否保证不会进行递归调用?

转载 作者:行者123 更新时间:2023-12-03 08:27:55 24 4
gpt4 key购买 nike

Bash陷阱似乎可以自动避免递归。在这个例子中,我期望无限递归,因为我找不到明确禁止它的文档。但是,输出停止。

我可能缺少明显的东西,但是我找不到在手册页中保证不递归的文档。有人可以找到讨论此问题的官方文档吗?

    #!/bin/bash
set -Eu
err1()
{
echo in err1
false
}
err2()
{
echo in err2
false
}

trap 'err1 ; err2' ERR

false

输出是:
    in err1
in err2

最佳答案

除非您set -o errtrace,否则子 shell 程序(包括函数调用)不会继承ERR陷阱。这将自动包括陷阱处理程序。

即使您设置了shell选项,也不会在陷阱处理程序afaik中调用ERR陷阱。 bash手册似乎没有提到这一点。

关于bash - bash错误陷阱是否保证不会进行递归调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35616516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com