我试着通过一个bash脚本来激活我的conda环境。尽管脚本运行良好且脚本内看似已经改变了PATH,但是在脚本终止后某种方式它又被重置了。我可以在命令行中调用source activate test
并且它可以正常工作。以下是示例及其输出。
脚本:
PycharmProjects/test » cat ./example.sh
echo "before calling source: $PATH"
source activate test
echo "after calling source: $PATH"
输出:
./example.sh
before calling source: /Use rs/me/miniconda3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
discarding /Users/me/miniconda3/bin from PATH
prepending /Users/me/miniconda3/envs/test/bin to PATH
after calling source: /Users/me/miniconda3/envs/test/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin`
但是,如果脚本执行完成后我运行 echo $PATH
命令,你会发现 $PATH
没有改变(即没有添加 /Users/me/miniconda3/envs/test/bin
):
PycharmProjects/test » echo $PATH /Users/me/miniconda3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
./example.sh
)还是引用它(即source example.sh
)? - Etan Reisnerexample.sh
脚本(./example.sh)。脚本运行结束后,我调用了echo $PATH
,只是为了展示 $PATH 实际上并没有改变。 - matt_k