直到今天我登录时,我的 bash 提示符和往常一样是标准的“用户名@currpath #”。但是今天,对我来说,它只是“#”。如果我以 root 身份登录,则一切正常。bashrc 似乎没问题(与其他机器相比)。“echo $PS1”只给我“#”。发生了什么,我该如何解决这个问题?
我还注意到“ifconfig”不见了。它适用于 root,但我的 $PATH 看起来正常。
另一件事(发布后数小时添加):用于滚动查看命令历史记录的上下箭头。现在它们给出的输出像这样“^[[A^[[B”(先上后下),但我的语言环境和键盘似乎设置正确。我不确定这是否与提示问题有关,但它同时发生了变化。
答案1
我猜测您的用户的 .bashrc 文件有问题。
尝试将默认的 .bashrc 文件复制到您的主目录中:
cp /etc/skel/.bashrc ~/.bashrc
复制文件后,重新启动计算机。
答案2
看来你把 PS1 搞乱了。
答案3
也许你已将用户 shell 从 /bin/bash 更改为其他内容。使用普通帐户登录后,运行
chsh
并/bin/bash
在提示时进行选择。
答案4
.bash_profile、.bashrc、.bash_login、.profile 和 .bash_logout 的执行顺序如下,
execute /etc/profile
IF ~/.bash_profile exists THEN
execute ~/.bash_profile
ELSE
IF ~/.bash_login exist THEN
execute ~/.bash_login
ELSE
IF ~/.profile exist THEN
execute ~/.profile
END IF
END IF
END IF
为了安全起见,您分配了PS1
所有这些文件。这肯定可以解决问题。