MacPorts経由でbash4.0をインストールし、Sudo chsh -s /opt/local/bin/bash my_user
を使用してシェルを変更しました。
その前に、chsh
なしでプレーンなSudo
を実行しようとしましたが、シェルをそのパスに変更することはできませんでした。
ターミナルを起動しようとすると、シェルの値が不正であるというメッセージが表示されるため、ターミナルが起動しません。 [終了]をクリックすると、当然ながら迷惑なことに、すぐに終了します。
Mac OSX10.5.8。すべてが最新のスーパーメガです。
〜/ Library/Preferences/com.Apple.Terminal.plistを開き、「Shell」キーを「/ bin/bash」に設定してから、ターミナルを開いてみてください。これが機能しない場合、X11.appはターミナルを開くことができる可能性があります。そうしないと、管理者権限で新しいユーザーを作成し、そこでシェルをリセットすることに行き詰まります。
/ opt/local/bin/bashをターミナルで実行して、実行可能であることを確認します。そうでない場合:
chmod +x /opt/local/bin/bash
また、/ opt/local/bin/bashは/ etc/shellsの行である必要があります。
ユーザープロファイルのシェルを変更する別の方法(chshコマンドに似ていますが、GUIを使用)は、次のようにします。
/ bin/bashにリセットし直してから、ターミナルで/opt/local/bin/bash
を実行して、/opt/local/bin/bash
が正しく機能することを確認してから再度変更することをお勧めします。
許可されていないと言われた理由は、Mac OSXが「許可された」シェルのリストを/etc/shells/
に保持しているため、そのファイルを編集して/opt/local/bin/bash
をそのリストに次のように追加する必要があるためです。上手。
ここでの問題は/etc/shells
ファイル。このファイルには、ログインシェルとして使用できるすべてのシェルのリストが含まれています。 MacPortsにインストールされたbashを使用する場合は、このファイルを編集して、その特定のシェルへのパスを含める必要があります。
Lionにアップデートした後、同じ問題が発生しました。
/ etcを調べると、shells〜origやshellsのようなファイルが見つかる可能性があります。 shells〜origをshellsに復元します。
幸運を。