Fish 中的多行命令可以有注释吗?

Fish 中的多行命令可以有注释吗?

bash它可能做的

my_function() {
  echo "hello" |
  #remove 'l'
  tr -d 'l'
}

但在fishhttp://fishshell.com)我无法做同样的事情:

function my_function
  echo "hello" | \
  # remove 'l' 
  tr -d 'l'
end

我也尝试过在评论末尾使用反斜杠,但没有成功。

我倾向于在 中经常使用这个习惯用法bash,通过管道传输多个命令并将每个命令分成自己的行,并为每个命令添加注释。

有什么方法可以实现类似的目标吗fish

答案1

这是不可能的,因为报告的错误https://github.com/fish-shell/fish-shell/issues/983

然而,在fish-shell存储库的ast分支中有关于真正的鱼语法的作品(而不是快速的hacky解析器)现在合并,但默认禁用)。目前,还没有补丁支持此语法,但它仍在进行中,我几乎可以肯定最终的语法将支持此语法。

相关内容