Я намагаюся перейти на 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замість цього. Здебільшого лише для власних потреб (і врешті-решт для людей, з якими ви ділитесь із ними) заради портативності.