我之前有我的bash命令提示符显示我当前工作目录的最后两个目录和我的git分支,如果我在git repo中.我开始在虚拟环境中添加一些项目,当我处理这些项目时,我的命令提示符设置停止工作.
我已经设法显示virtualenv和我当前的目录,但我仍然无法让我的git分支工作.
目前我得到的是:[name_of_virtualenv if in one]〜/ current/directory()$
如何让我的命令提示符显示如下[name_of_virtualenv如果在一个]〜/ current /目录[master] $
bashrc文件:
# external settings
# for path in /etc/bashrc /etc/bash.bashrc /etc/bash/bashrc; do
# [[ -f "$path" ]] && . "$path"
# done
# load rvm function
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
# source brew
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
# history storage settings
export HISTCONTROL=ignoredups
export HISTSIZE=1000000
export HISTFILESIZE=1000000
export EDITOR='vim'
SEND_256_COLORS_TO_REMOTE=1
# bash_prompt
# The various escape codes that …Run Code Online (Sandbox Code Playgroud) 我的.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$'
Run Code Online (Sandbox Code Playgroud)
现在 bash 看起来像:
(基础)/.../MyCode/python [master]$
但在我跑去conda activate env切换我的 conda 环境之后。它有一个 BUG,无论我运行什么命令,总是在命令输出的末尾显示当前的 conda env 名称。如下所示:
(基础) /.../MyCode/python [master]$ls
code_study keras mxnet …