1

Я пытался установить home brew (я новичок в командной строке и следовал некоторым учебникам о том, как начать работу с github).

Поэтому я следовал этому неофициальному методу обновления: скомпилируйте Bash из исходного кода, используя Homebrew (https://security.stackexchange.com/questions/68202/how-to-patch-bash-on-osx-in-wake-of-shellshock)

Вот что я набрал в Терминале:

$ xcode-select --install

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

$ brew doctor

$ brew update

$ brew install bash

$ sudo mv /bin/bash /bin/bash_old

$ sudo mv /bin/sh /bin/sh_old

$ sudo chmod a-x /bin/bash_old /bin/sh_old

И теперь Bash больше не работает :( Когда я открываю терминал, он отображает это сообщение:

У вас есть новая почта.
login: /bin /bash: нет такого файла или каталога
[Процесс завершен]

1 ответ1

1

Терминал пытается загрузить /bin /bash (или любой другой оболочкой по умолчанию для пользователя). Так как вы переместили это, он не будет знать, что делать, если вы не укажете, где искать. Есть несколько способов переопределить оболочку входа по умолчанию в OS X, которые не требуют текущей рабочей оболочки.

Для конкретного пользователя:

Системные настройки → Пользователи и группы → щелкните правой кнопкой мыши пользователя → Дополнительные параметры… → Оболочка входа

расширенные возможности пользователя

Для текущего пользователя:

Терминал → Настройки… → Общие → Оболочки открываются с помощью: → Команда (полный путь)

терминал по умолчанию

Для конкретного профиля терминала:

Терминал → Настройки… → Профили → ‹профиль› → Оболочка → Выполнить команду Также снимите флажок «Запустить внутри оболочки».

оболочка профиля по умолчанию

Когда у вас есть рабочая оболочка, вы можете переименовать двоичные файлы обратно в их оригиналы, а затем использовать homebrew и использовать тот же процесс для установки /usr/local/bin/bash что и оболочка входа в систему. Нет необходимости заменять двоичные файлы в /bin как оболочка использует двоичные файлы из нескольких каталогов, используя переменную среды PATH , включая /usr/local/bin , которая является каталогом установки homebrew по умолчанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .