bash行继续和评论

有没有解释为什么评论在第三个例子中被回应?

$echo a b \
> c # test
a b c

$echo a b c \
> # test
a b c

$echo a b c \
> \ # test
a b c  # test

$echo a b c \
> \  # test
a b c

解决方法

在bash中,#只有在单词的开头处才会开始注释.根据此规则,以下两个命令行都没有注释:

$echo a b c# test
a b c# test
$echo a b c \ # test
a b c  # test

在上面的第一种情况中,#是c#这个词的一部分而#不在开头.

在上面的第二种情况(你的情况)中,#是单词#的一部分(其中第一个字符是空白而#是第二个字符). #不在开头,因此不会发表评论.

通常,shell将空白视为单词分隔符.通过逃避空白,它失去了特殊的解释,变成了另一个角色.

是否使用延续线不会改变这一点.

文档

标题为男人狂欢的评论部分:

a word beginning with # causes that word and all remaining characters on that line to be ignored. [Emphasis added.]

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...