安装docker后(我绝对认为这是关于docker的)我得到了改变cmd-label
。例如,它username@root8hgf858$: your_command
就像[:/home/username] $
。
我该如何修复它?我已在系统设置中检查了当前主题 - 没问题。
截屏:
[:/home/imran] $ grep PS1 .bashrc /etc/bash.bashrc /etc/skel/.bashrc
/etc/bash.bashrc:[ -z "$PS1" ] && return
/etc/bash.bashrc:PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
/etc/skel/.bashrc: PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
/etc/skel/.bashrc: PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
/etc/skel/.bashrc: PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
答案1
似乎有什么东西修改了您的.bashrc
,因为其中根本没有提到PS1
。目前,请备份您的.bashrc
并恢复原始文件,然后启动一个新 shell:
cp ~/.bashrc{,.bak}
cp /etc/skel/.bashrc ~/.bashrc
/etc/skel
包含用于设置新用户主目录的骨架配置文件,因此它应该包含.bashrc
您拥有的原始配置文件。
问题是,PS1 在哪里设置?也许新文件.bashrc
正在获取其他文件,因此您应该检查.bashrc.bak
一下发生了什么变化。
答案2
提示符是使用变量设置的PS1
。可以根据您的设置在多个位置定义该提示符。如果新提示符特定于您的用户,您可以运行以下命令来检查它在哪个文件中定义:
grep -H PS1 ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login
如果没有返回任何内容,请扩大搜索范围(其中一些文件可能不相关,但这些都是 bash 默认可以读取的文件,因此您最好包括甚至不太可能的罪魁祸首,例如~/.bash_aliases
):
grep -H PS1 ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login ~/.bash_aliases \
/etc/bash.bashrc /etc/profile /etc/profile.d/* /etc/environment 2>/dev/null
一旦识别了文件,请在文本编辑器中打开它,并将您的设置PS1
为您喜欢的任何内容。