我想在我的.bash_profile中添加一个PYTHONPATH
,但想检查一下我是否以正确的方式进行操作。我的.bash_profile
(没有PYTHONPATH
)如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/user/condor/bin:/home/user/merlin/bin
export PATH
我想添加到我的PYTHONPATH的路径是:
/home/user/merlin/bin/strats/
因此,我更新的.bash_profile(带有PYTHONPATH)将如下所示:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/user/condor/bin:/home/user/merlin/bin
export PATH
export PYTHONPATH=/home/user/merlin/bin/strats/
如果我没有正确完成此操作,请有人告诉我如何正确格式化
谢谢
答案 0 :(得分:2)
如果您希望成为交互式登录Shell中PYTHONPTAH
环境变量内容的唯一所有者和决策者,那么您做对了:
〜/ .bash_profile 或〜/ .profile
export PYTHONPATH=/home/user/merlin/bin/strats/
如果您想继承PYTHONPATH
环境变量的任何系统范围的设置,则应该:
〜/ .bash_profile 或〜/ .profile
export PYTHONPATH=$PYTHONPATH:/home/user/merlin/bin/strats/
请注意,如果您正在一个无需登录即可启动新终端的系统(即:在Linux桌面上启动新的xterm
),或者在需要该特定环境变量的情况下通过cron运行脚本,.bash_profile
将不会执行,因此该脚本将无法使用环境变量。
如本答复注释中所述,您可以选择使用./~profile
文件而不是~/.bash_profile
来具有与其他shell的其他兼容性。
有些人只是在~/.bashrc
中添加所有环境配置。自从您的.bash_profile
模板调用~/.bashrc
以来,您最终将在交互式登录和非登录Shell中使用了这些环境变量。
对于通过cron运行的脚本,您应直接在脚本本身或cron行上直接获取具有环境配置的文件,因为这不会自动为您完成(crontab会启动非交互式shell来运行脚本,这些脚本不受~/.bashrc
,~/.bash_profile
或~/.profile
的影响)。