在bash
它可能做的
my_function() {
echo "hello" |
#remove 'l'
tr -d 'l'
}
但在fish
(http://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解析器)(现在合并,但默认禁用)。目前,还没有补丁支持此语法,但它仍在进行中,我几乎可以肯定最终的语法将支持此语法。