bash 提示符变为普通的“#”

bash 提示符变为普通的“#”

直到今天我登录时,我的 bash 提示符和往常一样是标准的“用户名@currpath #”。但是今天,对我来说,它只是“#”。如果我以 root 身份登录,则一切正常。bashrc 似乎没问题(与其他机器相比)。“echo $PS1”只给我“#”。发生了什么,我该如何解决这个问题?

我还注意到“ifconfig”不见了。它适用于 root,但我的 $PATH 看起来正常。

另一件事(发布后数小时添加):用于滚动查看命令历史记录的上下箭头。现在它们给出的输出像这样“^[[A^[[B”(先上后下),但我的语言环境和键盘似乎设置正确。我不确定这是否与提示问题有关,但它同时发生了变化。

答案1

我猜测您的用户的 .bashrc 文件有问题。

尝试将默认的 .bashrc 文件复制到您的主目录中:

cp /etc/skel/.bashrc ~/.bashrc

复制文件后,重新启动计算机。

答案2

答案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所有这些文件。这肯定可以解决问题。

访问http://www.thegeekstuff.com/2008/10/execution-sequence-for-bash_profile-bashrc-bash_login-profile-and-bash_logout/了解更多信息

相关内容