web-dev-qa-db-ja.com

.bash_profileが読み取られていません

だから私は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

Bashシェルを起動したときに読み込まれていないようですが、$ PATHに/ usr/lib64/openmpi/binパスがなく、echo $FOOを実行しようとしたときにFOOが存在しません

.bashrcは問題なく読み取られ、作成するとsource ~/.bash_profile FOOが作成され、$ PATHが適切に編集されますが、.bash_profileはそれ自体では実行されないので、何か助けが得られればすばらしいと思います。

6
csteifel

これらの2つのファイルをどのようにテストしますか?ログインシェルまたは非ログインシェルを試しましたか?ここに違いがあります:

システムにログインしてコマンドラインプロンプトを表示すると、それはログインシェルであり、次のファイルを順番に実行します。

/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc

非ログインシェルは、2つのファイルのみを順番に実行します。

/etc/bashrc
~/.bashrc

「bash」でbashシェルを起動するだけの場合、それは非ログインシェルであり、〜/ .bash_profileは呼び出されません。非ログインシェルを実行している場合でも変数が設定されることが予想される場合は、それらを~/.bashrc

13
imapollo

これは normal であり、.bash_profileはログインシェルに供給され、.bashrcはインタラクティブな非ログインシェルに供給されます。 CentOSでは、通常、.bash_profileの上部に以下が含まれます。

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

したがって、.bashrcに物を置くことができます。

Mac OS Xターミナルは、新しいウィンドウを開くと.bash_profileを読み取ります。 gnome-terminalは ログインシェルとしてコマンドを実行 でそれを行うことができます。

4
Anton Cohen