我正在使用 Debian,今天我输入:
exec bash
在我的终端中,不知何故user@xxx
更改为bash-4.4
.
我如何取回user@xxx
?我认为这对我来说更好,因为例如它显示了我当前文件夹的路径等......
答案1
exec bash -l
这会代替当前 shell 会话的bash
shell 作为登录 shell 启动。登录 shell 将读取您的.bash_profile
(或.bash_login
或.profile
,以先找到的为准)以及可能定义提示符的其他文件。
使用exec bash
,您可以将当前的 shell 会话替换为交互式 shell。这.bashrc
将从您的主目录中读取。如果您没有在那里设置提示,那么您将得到默认bash
提示。
如果没有exec
,您将能够exit
返回到旧的 shell 会话。有了exec
,旧的会话现在就消失了。
您也可以简单地退出 shell 并启动新的 shell。
答案2
这user@xxx
称为“提示”。它是由PS1
环境变量设置的。在 bash 中,它默认为bash-<version>
完全无用的,但原则上 bash 配置文件应该始终将其设置为更好的值。
出现这种情况的常见情况是当您刚刚创建了一个~/.bashrc
不包含/etc/profile
.如果没有这个文件,bash 就会退回/etc/profile
到系统的默认配置。对于空的或简约的~/.bashrc
,仅加载您自己的配置,并且您无法从您的发行版或系统管理员放入的内容中受益/etc/profile
。
解决方案:将其添加到您的~/.bashrc
:
if [ -f /etc/profile ]; then
. /etc/profile
fi
或者,您可以通过添加类似的内容来自行设置提示(在上面的代码片段之后):
PS1="\u\h@\\$ "
(您可以自定义提示中显示的内容,使其变得丰富多彩,并且所有这些都可以使用诸如http://ezprompt.net/)