运行时如何抑制打印在服务名称左侧的点systemctl status XXX?我想将此命令的输出保存到 bash 变量并打印它。输出中点的存在导致我的脚本失败,很可能是因为点是一个 unicode 字符。
# systemctl status network
? network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: active (exited) since Thu 2018-10-11 09:16:29 PDT; 6h ago
Docs: man:systemd-sysv-generator(8)
Oct 11 09:16:24 172.100.139.200 systemd[1]: Starting LSB: Bring up/down networking...
Oct 11 09:16:24 172.100.139.200 network[1376]: Bringing up loopback interface: [ OK ]
Oct 11 09:16:28 172.100.139.200 network[1376]: Bringing up interface eth0: [ OK ]
Oct 11 09:16:29 172.100.139.200 systemd[1]: Started LSB: Bring up/down networking.
Run Code Online (Sandbox Code Playgroud)
如果您要解决的问题是避免将 Unicode 字符作为输出的一部分,那么您可以使用不使用 UTF-8 的语言环境设置调用 systemd 命令,在这种情况下,systemd 将打印一个*而不是点.
您可以通过将LC_CTYPE变量设置为类似C或 的内容来临时将非 UTF-8 语言环境设置为单个命令POSIX。
例如:
# LC_CTYPE=C systemctl status network
* network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: active (exited) since Thu 2018-10-11 09:16:29 PDT; 6h ago
Docs: man:systemd-sysv-generator(8)
Oct 11 09:16:24 172.100.139.200 systemd[1]: Starting LSB: Bring up/down networking...
Oct 11 09:16:24 172.100.139.200 network[1376]: Bringing up loopback interface: [ OK ]
Oct 11 09:16:28 172.100.139.200 network[1376]: Bringing up interface eth0: [ OK ]
Oct 11 09:16:29 172.100.139.200 systemd[1]: Started LSB: Bring up/down networking.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
405 次 |
| 最近记录: |