相关疑难解决方法(0)

使用virtualenv和git分支的Bash命令提示符

我之前有我的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)

git bash command-prompt virtualenv

9
推荐指数
1
解决办法
3441
查看次数

如何设置PS1使git和conda都可以在bash中显示?

我的.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 …

git bash ps1 anaconda

6
推荐指数
1
解决办法
2183
查看次数

标签 统计

bash ×2

git ×2

anaconda ×1

command-prompt ×1

ps1 ×1

virtualenv ×1