我从网上下载了一个 .bashrc 文件。我事先检查了一下,没有发现任何问题。
奇怪的是,终端命令行中添加了几个空格。
截屏:
那些空格不是我放在那里的。
答案1
当提示符包含非打印字符时,它们必须被 包围\[…\]
。否则 bash 会将这些字符算作提示符宽度的一部分。
提示设置缺少几个实例\[…\]
。以下是我粗略浏览后发现的:
function fastprompt()
{
unset PROMPT_COMMAND
case $TERM in
*term | rxvt )
PS1="\[${HILIT}\][\h]\[$NC\] \W > \[\033]0;\${TERM} [\u@\h] \w\007\]" ;;
linux )
PS1="\[${HILIT}\][\h]\[$NC\] \W > " ;;
*)
PS1="[\h] \W > " ;;
esac
}
function powerprompt()
{
PROMPT_COMMAND=_powerprompt
case $TERM in
*term | rxvt )
PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > \
\[\033]0;\${TERM} [\u@\h] \w\007\]" ;;
linux )
PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > " ;;
* )
PS1="[\A - \$LOAD]\n[\u@\h \#] \W > " ;;
esac
}
答案2
看一下该功能powerprompt
。
如果您已将其复制并粘贴到您的中,则可能会在以(反斜杠).bashrc
结尾的行首得到空格。\
(你能把你的真实信息发布到.bashrc
别处吗?)或者试试:echo \"$PS1\"
(编辑:当然,我的意思是“在行首下列的以 . 结尾的行\
)
答案3
尝试取出
#-------------------------------------------------------------
# Shell Prompt
#-------------------------------------------------------------
文件的部分.bashrc
。这看起来是控制提示的外观的区域。
您的提示现在是什么样子的?如果您没有注意到变化,请确保启动一个新的终端窗口。
除了.bashrc
主目录中的文件之外,/etc/
文件夹中还有系统范围的配置。它们通常位于/etc/bashrc
或中/etc/bash_profile
(请注意,它们不是隐藏的,没有前置.
),具体取决于您使用的 Linux 版本。
另外 - 您的主目录中是否有任何其他.bash_profile
或.profile
类似的文件也可以用于配置提示?