首页 > 解决方案 > 是否可以在多行换行符转义脚本中进行内联注释?

问题描述

当我的脚本中有很长的多行管道命令时,我想评论每一行的作用,但我还没有找到这样做的方法。

鉴于此片段:

git branch -r --merged \
| grep "  $remote"  \
| egrep -v "HEAD ->"  \
| util.esed -n 's/  \w*\/(.*)/\1/p' \
| egrep -v \
    "$(skipped $skip | util.esed -e 's/,/|/g' -e 's/(\w+)/^\1$/g' )" \
| paste -s

是否可以在行之间插入注释?似乎使用反斜杠转义换行符会阻止我在行尾添加注释,并且我不能在反斜杠之前添加注释,因为这会隐藏转义。

我希望上面的脚本看起来像的伪代码

似乎我不清楚(?)我在上面的部分想要什么,所以要知道我在寻找什么,它应该与此类似:

git branch -r --merged \ # list merged remote branches
| grep "  $remote"  \    # filter out the ones for $remote
| egrep -v "HEAD ->"  \  # remove some garbage

#strip some whitespace:
| util.esed -n 's/  \w*\/(.*)/\1/p' \     

#  remove the skipped branches:
| egrep -v \
    "$(skipped $skip | util.esed -e 's/,/|/g' -e 's/(\w+)/^\1$/g' )" \
| paste -s               # something else

它不必完全像这样(显然,它不是有效的语法),而是类似的东西。如果由于句法限制而不能直接实现,也许可以编写自修改代码,在执行之前将注释删除?

标签: bash

解决方案


你可以尝试这样的事情:

git branch --remote | # some comment
    grep origin | # another comment
    tr a-z A-Z

推荐阅读