如何恢复默认的 PS1 提示?

如何恢复默认的 PS1 提示?

安装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为您喜欢的任何内容。

相关内容