.bash_profile は、最初のログイン時にのみ bash によって実行されます (各シェルを「ログイン シェル」にするようにターミナルを設定している場合にのみ、ターミナルによって実行されます)。ログイン シェルでなくても、bash を起動するたびに実行するコマンドがある場合は、代わりに .bashrc に配置する必要があります。ただし、シェルをログイン シェルにすることはいつでもできbash --login
ますbash
。
あなたのkshがどこから来たのかはわかりませんが、プロンプト文字列の「\ W」などを理解しないことに注意してください。したがって、展開された作業ディレクトリではなく、プロンプトでリテラルの「\ W」を取得すると予想されます。ログイン シェルとして ksh を実行している場合は、おそらく .profile (または /etc/profile など) 内の何かです。ksh には .bashrc とまったく同じものはありませんが、プロファイルの実行後に $ENV がファイル名に設定されている場合、そのファイルも実行されます (非ログイン シェルでも、シェルの起動時に ENV がすでに設定されている場合)。 . もちろん、Ksh は .bash_profile と .bashrc を無視します。
質問の本文にgemsへの参照がないため(もう?)、質問を変更してRubyタグを削除することをお勧めします...