以 exit 结束 bash 脚本有什么好处吗

问题描述 投票:0回答:2

我遇到了以

exit
行结尾的 bash 脚本。它是否会改变行为(避免吓唬“来源”而不是直接通过关闭终端进行呼叫的用户)?

请注意,我对退出和返回之间的区别不是特别感兴趣。在这里,我只对 bash 脚本末尾不带参数的退出之间的差异感兴趣(一个是关闭控制台或进程,该控制台或进程获取脚本而不是调用)。

可能是为了解决一些不太为人所知的 shell 方言吗?

bash exit
2个回答
3
投票

这样做通常没有任何好处。只有缺点,特别是无法像您所说的那样获取脚本源。

您可以构建重要的场景,例如让

source
ing 脚本依赖它来终止错误,或者让自解压存档头避免执行其有效负载,但这些不寻常的情况不应成为一般准则。


0
投票

一个显着的优点是它使您可以显式控制返回代码。

否则,脚本的返回代码将是它执行的最后一个命令的返回代码。这可能或可能不表明整个脚本的实际成功或失败。

一个不太重要的优点是,如果最后一个命令的退出代码重要,并且您可以用“exit $?”来跟进它。这告诉稍后出现的维护程序员,是的,您确实考虑了程序的退出代码应该是什么,并且他不应该在不理解原因的情况下胡乱使用它。

相反,当然,我不建议通过显式调用退出来结束 bash 脚本,除非您真正的意思是“忽略所有先前的退出代码并使用这个”。因为这就是其他人看到你的代码时会假设你想要的,如果你只是死记硬背而不是有原因的话,他们会因为你浪费时间试图找出原因而感到恼火。

© www.soinside.com 2019 - 2024. All rights reserved.