MacPorts で Bash を 3.2.48 に更新できませんでした。
私はそれをアクティブにしていないようです。
echo $BASH_VERSION
3.2.17(1)-release
どうすれば最新の Bash をアクティブにして、ログイン シェルで取得できるようになりますか?
たとえば、シェルを MacPorts によってインストールされた最新の Bash に変更するには、次のコードを実行します。
chsh -s /opt/local/bin/bash
それがあなたにメッセージを与えるなら、
"
non-standard shell
"
追加する必要があります
/opt/local/bin/bash
に
/etc/shells
これ/etc/shells
は単なるテキスト ファイルであるため、root として認証されている場合は直接編集できます。コマンドでプログラムで変更できます
sudo -s
Password:
# echo /opt/local/bin/bash >> /etc/shells
最初の chsh コマンドが失敗した場合、上記のファイルを変更できた場合は、もう一度実行してください。
次のシェル スクリプトを使用するだけで、既存の Mac OS X ログイン シェル (デフォルト/bin/bash
では Mac OS X に同梱されています) からログイン シェルを MacPorts に切り替えることができます。/opt/local/bin/bash
#!/opt/local/bin/bash
if [ `grep /opt/local/bin/bash /etc/shells` ];
then
echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash;
else
echo /opt/local/bin/bash | sudo tee -a /etc/shells;
chsh -s /opt/local/bin/bash;
fi