Я знаю, что этот вопрос был помечен как отвеченный, но
/ opt / local / var / macports / software / zsh / 4.2.7_0 + mp_completion
даже не является исполняемым файлом в macports. Вот почему вы получили ошибку. Снаряды должны быть исполняемыми.
Вы хотели установить для своей оболочки значение / opt / local / bin / zsh.
Это сработало для меня как на леопарде, так и на снежном барсе. OSX фактически не использует / etc для управления конфигурацией, он использует NetInfo (Leopard) и теперь он использует службы каталогов (Snow Leopard). Вы хотели установить это, щелкнув правой кнопкой мыши по своему пользователю в Системных настройках> Учетные записи (S.L.) или с помощью Netinfo Manager (Leopard)
РЕДАКТИРОВАТЬ:
снежный барс: sudo dscl. -create / Users / chiggsy UserShell / opt / local / bin / zsh
(создание создает или обновляет)
РЕДАКТИРОВАТЬ: Пожалуйста, представьте меня покрытым грязным, вонючим стыдом. Я использую iTerm, и смена оболочки в моем аккаунте работала без нареканий. В Терминале я получил тот же результат, что и OP, и исправил его, отредактировав / etc / shells. Теперь мне кажется, что я не смогу обойти ограничение / etc / shells, просто используя сторонний терминал, но, похоже, это так.