的文档exec说,如果当前 shell 是非交互式的并且execfail没有设置选项,它会在出错的情况下退出 shell 。
我注意到交互式 bash shell 中有一个奇怪的行为,但我无法用文档解释。这个命令
exec non-existent-file
Run Code Online (Sandbox Code Playgroud)
产生一条错误消息,并且 shell 保持活动状态,正如预期的那样。但是如果我将相同的命令放入一个文件和source那个文件中,当前的 shell 将被失败的 exec 退出。
有人可以帮助我理解为什么会发生这种情况吗?
bash ×1