我正在安装一个应用程序,但无法理解为什么安装指南告诉我要向export
启动文件之一添加命令。我没有看到它什么时候执行。那就是:
export WORKON_HOME=$HOME/.virtualenvs
我在终端中执行了一些代码,发现该export
命令不起作用。为什么?
root@localhost:/home/gameboy# echo export ADAM=Boss>>/home/pythontest/.profile
root@localhost:/home/gameboy# tail /home/pythontest/.profile
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
export ADAM=Boss
root@localhost:/home/gameboy# su pythontest
pythontest@localhost:/home/gameboy$ echo $ADAM
pythontest@localhost:/home/gameboy$
答案1
~/.profile
可以在启动登录 Bash shell 时运行。
首先,系统执行系统范围的/etc/profile
,然后执行这些文件中的第一个存在且可读的文件:
~/.bash_profile
~/.bash_login
~/.profile
您的问题是您正在通过 更改用户su pythontest
。您必须通过添加以下标志来确保生成的 shell 是登录 shell -l
:
su -l pythontest
答案2
您可以export ADAM=Boss
稍后立即更改或. ~/.profile
强制 shell 重新读取.profile
文件。