bash_profile的变化没有得到反映的linux

时间:2014-04-02 20:10:02

标签: linux macos bash shell

以下是我编辑过的.bash_profile文件。当我使用echo $JAVA_HOMEecho $PATH时,我在此处所做的更改未得到反映。

当我使用$PATH时,我得到的/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin在任何.bash_profile.bash_rc中都找不到。

如何让.bash_profile工作?

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export PATH=/sbin/:$PATH

export PATH=$PATH:$HOME/bin

export JAVA_HOME=/export/home/lg199447/dev/jdk1.7.0_51/bin/java

export PATH=$PATH:/export/home/lg199447/dev/jdk1.7.0_51/bin

注意: 我正在尝试使用ssh从OS X终端登录到服务器,并且在我登录终端后显示 $ 后跟我的光标。我无法使用箭头键和标签。所以我通过在/bin目录中执行bash来手动查看bash。这改变了我的终端lg199447@VDCALD564 /]$,我能够以我在mac中使用的正常方式使用终端。

1 个答案:

答案 0 :(得分:6)

这听起来好像你在Linux机器上登录shell不是bash,而是其他一些shell变种。 ~/.bash_profile仅用于bash登录shell,因此如果您只执行bash,则不会。

要么/bin/bash登录shell(使用命令chsh -s /bin/bash),要么使用bash -l启动bash,那么它应该有用。

另一种选择是将您的启动代码放在~/.bashrc中,这是为所有交互式bash会话提供的(除非使用--norc选项明确禁用)。