终端不工作。提示消失了!

终端不工作。提示消失了!

我关闭了终端并终止了一个进程,之后打开一个新终端时提示就消失了。

在网上搜索其他问题后,使用 CTRL-C y 可以恢复提示。但是,打开新终端时,提示又消失了。

我尝试过以下代码:

^Cmartin@martin-N550JV:~$ 
martin@martin-N550JV:~$ ps
  PID TTY          TIME CMD
17626 pts/0    00:00:02 bash
20957 pts/0    00:00:00 ps
martin@martin-N550JV:~$ sudo kill 20957
[sudo] password for martin: 
martin@martin-N550JV:~$ sudo kill 17626
martin@martin-N550JV:~$ 

摘自地点

我也卸载并重新安装了终端,但没有成功。

有解决办法吗?

答案1

打开终端后,您将获得一个非登录式交互式 shell。如果您使用的是bash系统级每个交互式 shell 启动文件,则为/etc/bash.bashrc,而用户级每个交互式 shell 启动文件为~/.bashrc

您所面临的问题可能是由于这两个文件中存在任何错误指令造成的。

来自 OP回复

采购~/.bashrc引发问题。这意味着存在问题~/.bashrc

bash 提示消失的可能原因:

~/.bashrc可能存在递归来源,从而导致无限循环的情况。例如,如果您的类似代码中有以下几行:

if [ -f ~/.profile ]; then
   . ~/.profile
fi

它将引用~/.profile。但请记住~/.profile始终引用~/.bashrc(这是正确的方法)。因此,您陷入了无限循环。不要~/.profile~/.bashrc

在这种情况下,除非你点击Ctrl+C

故障排除

你可以在你的~/.bashrc

set -x

然后,当您打开终端时,您就会看到文件描述符正在停止。

如何恢复

备份~/.bashrc并从 获取新的/etc/skel。在终端中使用,

mv ~/.bashrc ~/bashrc.bkp
cp /etc/skel/.bashrc ~/

它将~/.bashrc用一个新的来替换您的。

要么问题如我预期的那样(如上所述),要么在更换后应该可以解决其他问题,~/.bashrc因为它仅与您的有关~/.bashrc

答案2

运行这个命令为我解决了这个问题:

reset

答案3

检查~/.bashrc任何可能阻碍执行的事情。

我当时是:

# Load Angular CLI autocompletion.
source <(ng completion script)

答案4

很可能,shell 提示符被意外地定制为空白。

在终端窗口中,执行以下操作:

sudo cp /etc/bashrc /etc/bashrc.sav
sudo nano /etc/bashrc

则修改PS1为:

PS1="[\u@\h:\w ] $ "

保存并退出。

以下命令将显示bashrc文件 - 您有什么?

ls -al /etc/ba* 

相关内容