Відповіді:
Ви можете просто execзамінити поточну оболонку новою оболонкою:
Перейти на bash:
exec bash
Перейти на zsh:
exec zsh
Це не вплине на нові вікна терміналів чи що-небудь, але це зручно.
exitщоб повернутися до баш. Виконання цього видається непотрібним і небажаним.
Я перемикаюсь між zsh і bash дещо часто. Я деякий час мені довелося джерело свого bash_profile кожного перемикача. Тоді я дізнався, що ти можеш (як правило) робити
exec bash --login
або просто
exec bash -l
zsh має вбудовану команду, emulateяка може імітувати різні оболонки, встановлюючи відповідні параметри, хоча csh ніколи не буде повністю імітуватися.
emulate bash
perform commands
emulate -R zsh
Прапор -R відновлює всі параметри до їх значень за замовчуванням для цієї оболонки.
Див .: zsh керівництво
Ви повинні мати можливість просто ввести bashтермінал для переходу на bash, а потім введіть zshдля переходу на zsh. Принаймні для мене працює.
zshабо bashзбираєтесь в підкожу (підпроцес під поточною оболонкою). Вам потрібно буде набрати вихід кілька разів, щоб повернутися до самої верхньої оболонки.
У Mac OS Catalina інтерактивна оболонка за замовчуванням - zsh. Щоб змінити оболонку на zsh з bash:
chsh -s /bin/zsh
Тоді вам потрібно ввести пароль Mac. Закрийте термінал і знову відкрийте його. Щоб перевірити, чи вдало змінено ssh, видайте наступну команду.
echo $SHELL
Якщо результат / bin / zsh, ваше завдання завершено.
Щоб повернути його назад до bash, видайте наступну команду на терміналі.
chsh -s /bin/bash
Перевірте це ще раз за допомогою echo $SHELL. Тоді результат повинен бути / bin / bash.
Ви можете легко перейти назад до bash, скориставшись командою "bye"