KronwarsCZ Asked: 2018-04-07 04:16:19 +0800 CST2018-04-07 04:16:19 +0800 CST 2018-04-07 04:16:19 +0800 CST 反向执行 bash 772 我正在使用 Debian,今天我输入了: exec bash 在我的终端中,不知何故user@xxx更改为bash-4.4. 我该如何取回user@xxx?我认为这对我来说更好,因为例如它显示了我当前文件夹的路径等...... debian shell 2 个回答 Voted Best Answer Kusalananda 2018-04-07T04:19:13+08:002018-04-07T04:19:13+08:00 exec bash -l 这将用作为登录 shell 启动的 shell替换当前 shell 会话。bash登录 shell 将读取您的.bash_profile(或.bash_login或.profile,以它首先找到的为准)和其他可能定义您的提示的文件。 使用exec bash,您将当前的 shell 会话替换为交互式 shell。.bashrc这将从您的主目录中读取。如果您没有在那里设置提示,那么您将获得默认bash提示。 如果没有exec,您将能够exit返回到旧的 shell 会话。使用exec,旧会话现在消失了。 您也可以简单地退出 shell 并启动一个新的。 Matthieu Moy 2018-04-07T08:32:46+08:002018-04-07T08:32:46+08:00 这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/等工具)
这将用作为登录 shell 启动的 shell替换当前 shell 会话。
bash
登录 shell 将读取您的.bash_profile
(或.bash_login
或.profile
,以它首先找到的为准)和其他可能定义您的提示的文件。使用
exec bash
,您将当前的 shell 会话替换为交互式 shell。.bashrc
这将从您的主目录中读取。如果您没有在那里设置提示,那么您将获得默认bash
提示。如果没有
exec
,您将能够exit
返回到旧的 shell 会话。使用exec
,旧会话现在消失了。您也可以简单地退出 shell 并启动一个新的。
这
user@xxx
被称为“提示”。它由PS1
环境变量设置。在 bash 中,它的默认设置bash-<version>
是完全没用的,但原则上 bash 配置文件应始终将其设置为更好的值。一个常见的情况是您刚刚创建了一个
~/.bashrc
不包含/etc/profile
. 如果没有这个文件,bash 就会退回到/etc/profile
你的系统的默认配置。使用空的或极简主义的~/.bashrc
,只会加载您自己的配置,并且您不会从发行版或系统管理员放入的内容中受益/etc/profile
。解决方案:将此添加到您的
~/.bashrc
:或者,通过添加类似这样的内容(在上面的代码片段之后)自己设置提示:
(您可以自定义提示中出现的内容,使其色彩丰富,并使用http://ezprompt.net/等工具)