Я намагаюся перейти на zsh з Bash.
Я розмістив свій .bashrc безпосередньо на своєму .zshrc, і це призвело до багатьох помилок, коли я намагався використовувати Bash знову.
Як ви можете експортувати .bashrc до .zshrc?
Я намагаюся перейти на zsh з Bash.
Я розмістив свій .bashrc безпосередньо на своєму .zshrc, і це призвело до багатьох помилок, коли я намагався використовувати Bash знову.
Як ви можете експортувати .bashrc до .zshrc?
Відповіді:
Поки відповідь lhunath підштовхнула мене у правильному напрямку, zsh, схоже, не .profile
автоматично. Багато корисної інформації на цю тему можна знайти в цій публікації суперкористувача .
Адаптація, яку я використовую, полягає у введенні загальних псевдонімів та функцій .profile
та їх ручному пошуку наступним чином:
В ~/.bashrc
:
source ~/.profile
В ~/.zshrc
:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
emulate
- це вбудована команда zsh. За допомогою одного аргументу налаштуйте параметри zsh, щоб якомога більше наслідувати вказану оболонку.
Ви не можете " експортувати " свій .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
замість цього. Здебільшого лише для власних потреб (і врешті-решт для людей, з якими ви ділитесь із ними) заради портативності.