Shell 如何从源文件终止fish脚本的执行?

Shell 如何从源文件终止fish脚本的执行?,shell,fish,Shell,Fish,从源文件执行的exit命令不会终止源文件所在程序的执行,如何执行?考虑这些文件有一个更清楚的解释: a、 鱼: source b.fish echo "This should never run!" b、 鱼: echo "Failing now" exit 1 这将导致以下情况(意外输出): 退出状态为0!有没有一种解决方案可以让B终止a的执行,就好像exit是在a本身编写的一样?它正以您希望的方式使用bash和zsh。尽管如此,我还是为鱼找到了一个解决方案: source b.fish;

从源文件执行的
exit
命令不会终止源文件所在程序的执行,如何执行?考虑这些文件有一个更清楚的解释:

a、 鱼:

source b.fish
echo "This should never run!"
b、 鱼:

echo "Failing now"
exit 1
这将导致以下情况(意外输出):


退出状态为0!有没有一种解决方案可以让B终止a的执行,就好像
exit
是在a本身编写的一样?

它正以您希望的方式使用
bash
zsh
。尽管如此,我还是为
鱼找到了一个解决方案:

source b.fish; or exit 1

这将退出
a.fish
如果
b.fish
退出
exit 1
,否则将继续。

没有想到,太好了。要重复退出代码,您可以更改
exit$status
source b.fish; or exit 1