Mac OS X 10.6.8でデフォルトのシェルをMacPorts bashに設定しますか?


11

以前の質問へのフォローアップとして、MacPortsを再インストールし、新しいバージョンのbashをもう一度試してみたいと思います。

Mac OS X 10.6.8システムにMacPorts経由で最新のbashをインストールしましたが、Terminal.appセッションを開始すると、「sh --version」コマンドで古いbash 3.2.48を使用していることが示されました。これは、「which bash」がMacPortsによってインストールされた新しい4.2.37を指す場合でもです。

Terminal.appの設定を変更して新しいbashをデフォルトとして使用し、/ etc / shellsを変更し、chshコマンドを使用してMacPorts bashをデフォルトとして指定しようとしました。ただし、これらの方法はいずれも成功しませんでした。私は何が欠けていますか?どうもありがとうございました。


1
それで、あなたはすでに一度シェルを壊しました、そしてあなたは再びそれをする方法を見たいですか?理由which bashは新しいシェルを示していますが、古いシェルを実行しているのは、シェルが絶対パス(/ bin / bash)で起動され、パスに従わないためです。.bashrcが実行されるまで、パスはMacPortsを含むように設定されていないので、とにかく重要ではありません。
アランシュトコ

回答:


18

sh --versionは、おそらくと同じ/bin/sh --versionです。現在のシェルがbashである場合、そのバージョンはで確認できますecho $BASH_VERSION。デフォルトのログインシェルをchshで変更した場合、ターミナルのデフォルトシェルをログインシェルとして保持できます。

  1. sudo port install bash
  2. 追加/opt/local/bin/bashします/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. 新しいタブを開いて確認します echo $BASH_VERSION

echo $SHELL実行されているシェルをより明確に示します。
ビクターSergienko
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.