Вопрос

Я пытаюсь перейти на zsh из Bash.

Я поместил свой .bashrc прямо в свой .zshrc, и это вызвало множество ошибок, когда я снова попытался использовать Bash.

Как экспортировать .bashrc в .zshrc?

Это было полезно?

Решение

Хотя ответ Луната подтолкнул меня в правильном направлении, zsh, похоже, не является источником .profile автоматически.Много полезной информации по этой теме можно найти на этот пост суперпользователя.

Адаптация, которую я использую, заключается в добавлении общих псевдонимов и функций в .profile и вручную найти их следующим образом:

.bashrc

source ~/.profile

.zshrc

[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'

Другие советы

Ты не можешь"экспорт" твой .bashrc к .zshrc. .bashrc это файл, который запускается bash команды. .zshrc это файл, который запускается zsh команды.

Вы не можете ожидать zsh чтобы иметь возможность запускать bash команды в вашем .bashrc, поэтому вам следует преобразовать его в новый .zshrc вместо того, чтобы пытаться бежать .bashrc от .zshrc или копирование первого во второе.

Если вам нужен общий файл инициализации оболочки для всех ваших оболочек;использовать .profile (и удалить .bashrc и .zshrc).Его источниками являются все оболочки POSIX.И там придерживайтесь функций оболочки POSIX. только.Тогда этот код будет работать в любой оболочке POSIX.(Хотя я не уверен на 100%, что zsh соответствует POSIX).

Видеть: http://mywiki.wooledge.org/DotFiles.

Хотя - и я сначала неправильно прочитал эту часть вашего вопроса - вы не должны испытывать ошибок из-за bash при запуске вашего .bashrc если ты не поставишь zsh команды там.Вы?Какие ошибки вы получаете?Мне кажется, вы добавили zsh закодируйте в свой .bashrc и bash (очевидно) не понимает.

Как в сторону, ojblass пытается подчеркнуть переносимость, что удается лишь частично. zsh — отличная оболочка (правда, сам я не удостоился такой чести), но при написании сценариев;Я бы рекомендовал вам сделать это с #!/usr/bin/env bash вместо.В основном просто для себя (и, в конечном итоге, для людей, с которыми вы делитесь) ради переносимости.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top