(我在MacBook上使用Anaconda)
默认情况下,Conda将环境信息添加到命令提示符中,如下所示:
$ source activate my_env
(my_env) $ source deactivate
$
这可以通过开关来打开和关闭
conda config --set changeps1 (true|false)
由于我的终端提示符已经自定义,我想以不同的方式添加环境信息,但不确定具体方法。
现在我正在使用两个命令sac
和dac
在我的.bash_profile文件中激活和停用环境,因此尝试添加env_var
:
env_var=""
#activate env (default env = my_env)
sac() {
if [ -z $1 ];
then
ENV="my_env"
else
ENV="${1}"
fi
source activate ${ENV}
env_var="${ENV}"
}
#deactivate env
dac() {
source deactivate
env_var=""
}
env_info() {
if [[ ${env_var} == "" ]]
then
echo ""
else
echo "in ${env_var}"
fi
}
PS1="\u "
PS1+="$(env_info) \$";
代码为何无法正常工作?我的bash知识非常基础,抱歉...
env_info
始终保持为空白,无论我是否在终端中调用sac
或dac
。
问题1:为什么代码无法正常工作?
问题2:或者也许有另一种方法可以以有用的格式获取当前环境信息吗?conda info --envs
返回了太多信息...
$CONDA_DEFAULT_ENV
。 - darthbith