Відповіді:
Ви можете просто 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"