Markdown代码块中如何转义root提示符#避免被识别为bash注释行
解决方案
你遇到的问题是sh/bash类型的代码块语法高亮规则会默认把行首的#识别为注释,而代码块内部默认不会解析Markdown转义、HTML实体这类内容,所以你之前尝试的转义方法都会原样显示,无法生效。可参考以下两种常用解决方法:
方法1:更换代码块的语言标识
不要使用sh或bash作为代码块的语言标记,替换为console或者shell-session,这类标记对应的语法高亮规则会专门适配终端会话场景,自动识别root用户提示符,不会将提示符后的#判定为注释。
示例写法:```console root@docker:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE bash latest f72dd207f6f4 2 weeks ago 13.6MB渲染后效果和原有写法完全一致,不会出现注释高亮。方法2:插入零宽空格绕过识别
如果你需要保留bash类型的语法高亮效果,可以在提示符里的#前面插入一个零宽空格(Unicode编码U+200B,可直接复制以下空白字符使用:),语法高亮解析器会因为行首不是纯#字符而不会触发注释判定,同时零宽空格在渲染时完全不可见,不会影响显示效果。
示例写法:```bash root@docker:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE bash latest f72dd207f6f4 2 weeks ago 13.6MB
内容的提问来源于stack exchange,提问作者nguxx
相关产品推荐
相关产品推荐

