ログインすると、ファイル~/.profile
はログインシェル(ksh)によって読み取られます。ログインシェルにbashでそれ自体を置き換えるように指示できます。いくつかの予防措置を取る必要があります。
- ログインシェルは、対話型の場合にのみ交換してください。これは重要です。さもないと、グラフィックモードでのログインが機能しない場合があり(これはシステム依存です。一部のシステムではなく
~/.profile
、xdmなどを使用してログインする場合)、イディオムssh foo '. ~/.profile; mycommand'
は失敗します。
- 何らかの理由で実行可能ファイルが存在しない場合でもログインできるように、bashが利用可能であることを確認してください。
ログインシェルとしてbashを実行するかどうかを選択できます。そのログインシェル作るの唯一の大きな違いは、それがロードだろうということです~/.bash_profile
か~/.profile
。したがって、bashをログインシェルとして実行する場合は、aを使用する~/.bash_profile
か、bashから再帰的にbashを実行しないように注意して~/.profile
ください。~/.profile
kshではなくbashで実行したことの利点はないため、実行しないことをお勧めします。
また、SHELL
環境変数をbashに設定して、ターミナルエミュレーターなどのプログラムがそのシェルを呼び出すようにします。
bashに切り替えるコードは次のとおりです。の最後に置き~/.profile
ます。
case $- in
*i*)
# Interactive session. Try switching to bash.
if [ -z "$BASH" ]; then # do nothing if running under bash already
bash=$(command -v bash)
if [ -x "$bash" ]; then
export SHELL="$bash"
exec "$bash"
fi
fi
esac