【发布时间】:2019-11-21 11:02:48
【问题描述】:
我的 .bashrc:
# show a short way
shortwd() {
num_dirs=3
pwd_symbol="..."
newPWD="${PWD/#$HOME/~}"
if [ $(echo -n $newPWD | awk -F '/' '{print NF}') -gt $num_dirs ]; then
newPWD=$(echo -n $newPWD | awk -F '/' '{print $1 "/.../" $(NF-1) "/" $(NF)}')
fi
echo -n $newPWD
}
# show git branch
git_branch() {
git symbolic-ref HEAD --short
}
export PS1='\n$CONDA_PROMPT_MODIFIER\e[38;5;211m$(shortwd)\e[38;5;48m [$(git_branch)]\e[0m$'
现在 bash 看起来像:
(基础)/.../MyCode/python [master]$
但是在我运行 conda activate env 来切换我的 conda env 之后。它得到一个BUG,无论我运行什么命令,总是在命令输出的末尾显示当前的conda env名称。像这样:
(基础)/.../MyCode/python [master]$ls
code_study keras mxnet my_tools other pyqt5 pytorch qt_diankeyuan 测试windows代码
(基础)
如果我想让 conda env 名称不总是显示在每个命令输出的末尾,我应该怎么做?
【问题讨论】:
-
不相关,抱歉,但是将 PS1 设置为
$以外的任何值有什么好处? -
@oguzismail 许多人使用提示来显示他们认为相关的上下文,例如他们在哪个主机上(很多人登录到很多地方,需要快速找出他们在说@之前的位置987654326@) 或他们在中间,以及一天中的时间等。
-
@manv 当然,感谢您的反馈;重新打开。