Переход с bash на zsh: сброс PATH

Переход с bash на zsh: сброс PATH

Я работаю на Mac и только что перешел с Bash на Zsh с помощью Oh-my-zsh.

Все работает нормально, за исключением того, что в моем $PATH теперь отсутствуют несколько записей, например, путь к исполняемым файлам nodeJS.

Обходной путь, который я использовал на данный момент, — это копирование $PATH из bash и вставка его в .zshrc, что не совсем понятно.

Есть ли лучший способ добавить в $PATH на zsh все записи, которые есть на bash?

решение1

В общем, оболочки имеют некоторые базовые файлы конфигурации в /etc на большинстве Unix-подобных систем. Важные шаблоны имен файлов включают все, что упоминает имя оболочки, и для bash, по крайней мере, файл "profile". Эти же файлы могут отображаться как ., например os .cshrc, .bashrc и .profile и т. д.

Bash, запущенный как оболочка входа, использует /etc/profile, если этот файл существует. После прочтения этого файла он использует ~/.bash_profile, ~/.bash_login, и ~/.profile, в указанном порядке. В этих файлах PATH может быть изменен, но он также может использовать другие программы для установки путей. Если это интерактивная оболочка, но не оболочка входа, он будет использовать ~/.bashrc.

В случае Mac проверка /etc/profile обнаруживает программу под названием «path_helper», страница руководства которой показывает, что она любит хранить дополнительные пути в /etc/path.d.

Этот шаблон, .d, также широко используется и является хорошим местом для поиска дополнительных файлов конфигурации.

Связанный контент