如何在journalctl中正确转义程序名称以查询pop-os kernel日志?
如何在journalctl中正确转义程序名称以查询pop-os kernel日志?
嘿,我来帮你搞定这个问题!你遇到的是systemd单元名称包含空格时的转义问题,下面给你两种实用的解决办法:
用引号包裹单元名称:直接把带空格的单元名放在双引号里,这样shell就不会把空格当成命令参数的分隔符了,执行这条命令就行:
journalctl -u "pop-os kernel"使用systemd-escape命令转义:systemd自带了专门的转义工具
systemd-escape,先转义单元名称再查询。你可以先单独执行转义命令看结果:systemd-escape "pop-os kernel"它会输出
pop-os\x20kernel,然后用这个转义后的名称查询日志:journalctl -u pop-os\x20kernel或者更高效一点,直接把两个命令组合起来:
journalctl -u $(systemd-escape "pop-os kernel")
之前你用pop-os\ kernel的方式没成功,是因为shell的反斜杠转义虽然能让shell识别空格,但systemd对单元名称的转义规则要求把空格换成\x20,上面两种方法都能满足这个要求~
备注:内容来源于stack exchange,提问作者TheFibonacciEffect
相关产品推荐
相关产品推荐

