.profile什么时候执行?

.profile什么时候执行?

我正在安装一个应用程序,但无法理解为什么安装指南告诉我要向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文件。

相关内容