I've closed the terminal killing a process, after that when opening a new terminal the prompt wasn't there.
After searching online other questions, with CTRL-C y get the prompt back.
However, when opening a new terminal the prompt is gone again.
I've tried the following code:
^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:~$
Taken from this site
I've also uninstalled and then re-installed the terminal, with no success.
Is there a solution for this?
Best Answer
When you open a terminal you get a non-login, interactive shell. If you are using
bash
the system-wide per-interactive-shell startup file is/etc/bash.bashrc
and user-level per-interactive-shell startup file is~/.bashrc
.The problem you are facing may be due to presence of any bad instruction(s) in any of these two files.
From OP's reply:
Possible reasons of disappearing bash prompt:
There might be recursive sourcing that can create an infinite loop type situation. For example if there are lines present in your
~/.bashrc
like,It will source
~/.profile
. But keep in mind that~/.profile
always sources~/.bashrc
(it is correct way). Hence you are in an infinite loop. Do not source~/.profile
from~/.bashrc
Under such situation you can not get the prompt unless you hit Ctrl+C
Troubleshooting
You can put a line in your
~/.bashrc
Then you could see that the file descriptor is stopping when you open a terminal.
How to recover
Take backup of
~/.bashrc
and get a new one from/etc/skel
. Use in terminal,It will replace your
~/.bashrc
with a new one.Either the problem is like as I expected (described above) or something else should be solved after replacing
~/.bashrc
as it is solely related to your~/.bashrc
.