Среда ZSH на удаленном компьютере нарушена, вылетает при входе в систему через ssh

Aug 20 2020

У меня возникли проблемы с запуском oh-my-zsh на удаленном компьютере, к которому у меня нет доступа root, поэтому я попытался загрузить и скомпилировать zsh, выполнив следующие действия.

Я знаю, что напортачил на последнем этапе, когда я должен был запустить zsh «явно или программно из файла запуска вашей текущей оболочки (помещенного exec $HOME/bin/zsh -lв нужное место)».

Я добавил exec $HOME/bin/zsh -lв первую строку моего ~ / .zshrc и получил его, и все замерло. Теперь после выхода из системы я не могу удалить свои изменения, потому что оболочка вылетает, как только я вхожу на удаленный компьютер через ssh:

Last login: Thu Aug 20 11:50:42 2020 from ***.***.***.*


~/.zshrc:3: exec format error: ~/bin/zsh
Connection to *my.remote* closed.

в качестве альтернативы VScode remote ssh возвращает эту ошибку после сбоя терминала:

The terminal process "/bin/zsh '-l'" terminated with exit code: 126.

Любая помощь в моей глупой ошибке приветствуется. Благодарю.

Ответы

1 chepner Aug 20 2020 at 18:44

Вам необходимо поместить exec $HOME/bin/zsh -lсоответствующий файл конфигурации для вашей оболочки входа. Предполагая, что это так bash, добавьте строку в .bash_profile. Как рекомендовано в комментарии, используйте

ssh -t host vim

для начала vim(или редактор по вашему выбору) отредактировать .zshrcи .bash_profileсоответствующим образом.