В продолжение моего предыдущего вопроса я переустанавливал свой MacPorts и хочу снова попробовать его более новую версию bash.
Я установил новейшую версию bash через MacPorts в моей системе Mac OS X 10.6.8, но когда я запускал сеанс Terminal.app, команда «sh --version» показала, что я все еще использую старую версию bash 3.2.48. Это даже в том случае, когда «which bash» указывает на более новую версию 4.2.37, установленную MacPorts.
Я попытался изменить настройки Terminal.app, чтобы использовать новый bash по умолчанию, изменил / etc / shells и использовал команду chsh, чтобы указать MacPorts bash по умолчанию. Однако ни один из этих методов не был успешным. Что мне не хватает? Большое спасибо.
which bash
показывает, что новая оболочка, но вы используете более старую, состоит в том, что оболочка запускается по абсолютному пути (/ bin / bash) и не подчиняется пути. В любом случае это не имеет значения, поскольку путь не будет включать MacPorts, пока не будет запущен .bashrc.Ответы:
sh --version
вероятно так же, как/bin/sh --version
. Если текущая оболочка bash, вы можете увидеть ее версию сecho $BASH_VERSION
. Если вы измените оболочку входа по умолчанию с помощью chsh, вы можете оставить оболочку терминала по умолчанию в качестве оболочки входа.sudo port install bash
/opt/local/bin/bash
в/etc/shells
chsh -s /opt/local/bin/bash
echo $BASH_VERSION
источник
echo $SHELL
более четко указывает, какая оболочка работает.