bash 有一个内置调用 set具有“提前退出”功能,描述如下:
-e
如果管道(参见管道)返回非零状态,则立即退出,管道可能由单个简单命令(参见简单命令)、列表(参见列表)或复合命令(参见复合命令)组成。
如果您编写一个以 开头的 bash 脚本,set -e
它将在第一个失败的命令时中止,而不是继续运行所有后续命令(默认行为)。
您可以通过链接命令在 fish 中实现类似的效果,and
但这很快就会变得难以处理。(sudo apt update; and sudo apt upgrade
是一回事,但想象一下实质性的脚本)
在 fish 中是否有等效的设置来在第一个非零退出状态下退出脚本?
笔记:
- 寻找 Bash 用户没有提到这一点。
- 放在 fish 中是一个非常不同的命令
答案1
不幸的是,fish 没有这个功能。有一个长期存在的问题(fish-shell#510,自 2013 年起开放)正在讨论是否以及如何在鱼类中实施该技术。