Установить оболочку по умолчанию для MacPorts bash в Mac OS X 10.6.8?

11

В продолжение моего предыдущего вопроса я переустанавливал свой 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 по умолчанию. Однако ни один из этих методов не был успешным. Что мне не хватает? Большое спасибо.

HPY
источник
1
Итак, вы уже сломали оболочку и хотите посмотреть, как это сделать снова? Причина which bashпоказывает, что новая оболочка, но вы используете более старую, состоит в том, что оболочка запускается по абсолютному пути (/ bin / bash) и не подчиняется пути. В любом случае это не имеет значения, поскольку путь не будет включать MacPorts, пока не будет запущен .bashrc.
Алан Шутко

Ответы:

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
LRI
источник
echo $SHELLболее четко указывает, какая оболочка работает.
Виктор Сергиенко