现象
命令行连上服务器之后,执行常见命令会额外显示一堆信息
bash
ubuntu@svnic:~$ ls
08;start=3061...b5a;machineid=3a1...6fe0;user=ubuntu;hostname=svnic;bootid=4c5...9b;pid=00000000000000002314;type=command;cwd=/home/ubuntu08;end=306...b5a;exit=success08;start=0041...15e;machineid=3a1...fe0;user=ubuntu;hostname=svnic;bootid=4c5b...eb9b;pid=00000000000000002314;type=shell;cwd=/home/ubuntu
原因
- systemd 版本特性
- SSH工具显示信息处理问题
处理办法
临时禁用
只会针对当前session
bash
unset PS0
PROMPT_COMMAND=( "${PROMPT_COMMAND[@]/__systemd_osc_context_precmdline/}" )
系统上关闭
bash
# 在 VPS 上(有 sudo 权限)
sudo rm -v /etc/profile.d/80-systemd-osc-context.sh
sudo ln -s /dev/null /etc/tmpfiles.d/20-systemd-osc-context.conf
恢复方式
bash
sudo rm /etc/tmpfiles.d/20-systemd-osc-context.conf
sudo systemd-tmpfiles --create 20-systemd-osc-context.conf
换用其他终端
换用能正确忽略/支持 OSC 3008 的终端