13

我想对于 set -e 我可以捕获信号,但其他我不知道。

4

2 回答 2

21

为了完整性:

  • set -e:如果命令失败则退出
  • set -u:如果在设置之前引用了变量,则会出错
  • set -x:显示运行的命令

抱歉,鱼中没有任何与这些选项等效的选项!如果您有兴趣看到它们被添加,跟踪它们的问题位于https://github.com/fish-shell/fish-shell/issues/805

您肯定会发现,fish 的目标更多是交互使用而不是脚本。以交互方式使用 fish 很好也很常见,但是使用 sh 编写脚本。

于 2014-04-18T06:59:11.183 回答
3

最近(2020 年 4 月)在鱼 3.1.2 中添加了此功能。

set fish_trace 1    # print the expanded commandline before execution
set fish_trace 2    # prefix the commandline with file and line number

set fish_trace 1 1  # print the commandline before execution, 
                    #   and print its exit status after execution
set fish_trace 1 2  # as above, but print the exit status of all subprocesses (?)

set fish_trace 0 1  # only print the exit status of commandlines

在此处查看 Github 问题(现已关闭)https://github.com/fish-shell/fish-shell/issues/3427#issuecomment-610048527

于 2020-11-22T21:16:33.953 回答