通过.bash_profile

时间:2019-09-13 09:42:15

标签: bash terminal anaconda conda

问题

我正在尝试自定义终端以更清晰地显示关键信息,并对其进行颜色编码。

在激活新的conda虚拟环境时,我遇到了一个问题,在该环境中,该名称重复了两次。

我尝试在.bashrc文件中实现$ CONDA_DEFAULT_ENV,$ CONDA_PREFIX无效,并且还尝试通过反复试验来编辑.bash_profile anaconda代码。

.bash_profile

# added by Anaconda3 2019.07 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
# . "/anaconda3/etc/profile.d/conda.sh"  # commented out by conda initialize
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda init <<<

# !! Connects to .bashrc file for customization !!
if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

.bashrc

green=$(tput setaf 71);
white=$(tput setaf 250);
reset=$(tput sgr0);

PS1="\[${green}\](\$(basename \$CONDA_DEFAULT_ENV)) ";  # virtual env
PS1+="\[${white}\] $(pwd)/\W";                          # current directory
PS1+="\[${white}\] \n ";                                # new line
PS1+="\[${reset}\]-> ";                                 # code prompt
export PS1;

输出

激活后,您会在下面看到(flask_env)重复自身,只有第二个条目的格式为绿色:

(base)  /Users/AlexBargh/~
 -> conda activate flask_env
(flask_env) (flask_env)  /Users/AlexBargh/~
 ->

所需的输出

如果我再次在终端中运行source .bashrc,则此问题似乎已解决,仅需对其进行编码即可。

我试图摆脱第一个(flask_env)条目,只是保持(base)和(flask_env)均为绿色。

任何帮助,不胜感激!

1 个答案:

答案 0 :(得分:0)

通过设置逻辑,您只能在三个代码路径之一中使用CONDA_CHANGEPS1=false。可能是取而代之的是带有\eval的第一个分支,所以conda毕竟会更改PS1吗?

尝试无条件设置export CONDA_CHANGEPS1=false