cst*_*fel 6 bash centos bashrc centos6
因此,我正在使用 CentOS 6.3 全新安装,并尝试将内容添加到 OpenMPI 的路径中,因此我编辑了 .bash_profile 文件以读取:
FOO='test'
export FOO
# Add support for MPI
PATH=$PATH:/usr/lib64/openmpi/bin
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
Run Code Online (Sandbox Code Playgroud)
当我启动 bash shell 时,这显然没有被读取,我的 $PATH 没有 /usr/lib64/openmpi/bin 路径,并且当我尝试时 FOO 不存在 echo $FOO
.bashrc 读得很好,如果我source ~/.bash_profile
创建 FOO 以及我的 $PATH 被正确编辑,但它不会自行运行 .bash_profile 所以如果我能得到任何帮助,那就太好了。
小智 13
你能描述一下你如何测试这两个文件吗?您是否尝试过登录或非登录shell?这是区别:
当您登录系统并看到命令行提示符时,它是一个登录 shell,它按顺序执行这些文件:
/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc
Run Code Online (Sandbox Code Playgroud)
非登录 shell 只会按顺序执行这两个文件:
/etc/bashrc
~/.bashrc
Run Code Online (Sandbox Code Playgroud)
如果你只是简单地通过“bash”启动一个 bash shell,它是一个非登录 shell,并且 ~/.bash_profile 不会被调用。如果您希望即使在运行非登录 shell 时也能设置变量,则应将它们放入~/.bashrc
.
这是正常的,.bash_profile 源自登录 shell,.bashrc 源自交互式非登录 shell。在 CentOS 中,.bash_profile 的顶部通常有:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)
所以你可以把东西放在.bashrc中。
当您打开新窗口时,Mac OS X 终端会读取 .bash_profile。可以使用Run command 作为登录 shell 来使 gnome-terminal 做到这一点。
归档时间: |
|
查看次数: |
20661 次 |
最近记录: |