どういうわけか私のbashプロンプトが "elementary:〜steven $"に変更され、デフォルトのプロンプトに戻したいと思います。最初に〜/ .bashrcに、次に〜/ .profileに以下を追加しました。
export PS1="\s-\v\$ "
ターミナルを開いても実行されません。いずれかのファイルでコマンドsource
を実行すると、そのセッションの残りの部分で正常に機能します。
ここで見落としているものはありますか?
編集:これはイアンが提案したものからの出力です:
elementary:~ steven$ bash --login --verbose
# System-wide .profile for sh(1)
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
/usr/libexec/path_helper -s
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/AVRMacPack/bin"; export PATH;
if [ "${BASH-no}" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
if [ -e "/usr/local/AVRMacPack" ]; then
PATH="$PATH:/usr/local/AVRMacPack/bin"
export PATH
fi
# Setting PATH for Python 3.2
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.2/bin:${PATH}"
export PATH
elementary:~ steven$ which bash
which bash
/bin/bash
.bashrc
は、bashのmanページに従って、非対話型シェルに対してのみ実行されます。
.bash_profile
はログインシェルに対して実行されます。
.profile
ファイルはKornシェルによってロードされます。 bashがこれにまったく注意を払っていることを私は知りません。 bashのmanページでそれへの参照を見つけることができませんでした。
OS Xでは、Terminal.appプログラムは、開いた新しいTerminal.appウィンドウごとにログインシェルを実行します。
したがって、プロンプト設定を.bash_profile
に配置します。
.bash_profile
ではいつでも次のことができます。それは珍しいことではありませんが、それがどのような影響を与える可能性があるかは言えません。
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
そうすれば、2つのファイルを維持する必要はありません。
bash control何らかの理由で混乱し、TERMINAL 。profileをロードしたい場合=すべてのセッションで、〜/ .bash_profileのように記述します。
if [ -f ~/.profile ]; then
source ~/.profile
fi
...新しいセッションを開始して、すべてが正常に戻ったかどうかを確認します
私は間違っているかもしれませんが、bashがシェルである場合は、.bashrcではなく〜/ .bash_profileに配置する必要があります。