我试图通过脚本将文件夹附加到我的PATH,但这不会在执行后更改PATH。如果我在.bash_profile中添加相同的行,请确保PATH中包含正确的文件夹。
是否有某些规则只能通过.bash_profile更改PATH环境变量?
#!/bin/bash
# add anaconda to path
if [ -d $HOME/anaconda3/bin ] ; then
echo "Changing python to 3.5 :"
python --version
PATH="$PATH:$HOME/anaconda3/bin"
python --version
fi
我想这样做的原因是有时使用python v2.7(默认),有时使用python v3.5(脚本默认使用)。 谢谢你的帮助!
答案 0 :(得分:0)
您无法通过执行子进程来修改当前进程的环境。为了保持对PATH
的更改,您必须获取脚本而不是执行它。
> source enableAnaconda
如果您在.bash_profile
中定义了一个函数,则该函数将在每个bash
会话中定义,并且可以作为一个不同的命令调用。
enableAnaconda () {
if [ -d "$HOME/anaconda3/bin" ] ; then
echo "Changing python to 3.5 :"
PATH="$HOME/anaconda3/bin:$PATH"
python --version
fi
}
您需要将新目录添加到PATH
,因为python
将从头开始在路径目录中查找。