加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash行继续和评论

发布时间:2020-12-15 21:49:50 所属栏目:安全 来源:网络整理
导读:有没有解释为什么评论在第三个例子中被回应? $echo a b c # testa b c$echo a b c # testa b c$echo a b c # testa b c # test$echo a b c # testa b c 解决方法 在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.]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读