- ПОЧЕМУ.
- Убедитесь, что текущей оболочкой является bash
- Проверьте, что zsh не находится в списке командных оболочек в нем
- Установка zsh
- Настройка zsh
- Временно запустите zsh
- Сделайте zsh оболочкой по умолчанию для входа в систему
- Проверьте, что переменная $SHELL все еще является переменной bash
- Установите переменную $SHELL на zsh, чтобы tmux также открывался с помощью zsh
- P.S.
- Резюме.
ПОЧЕМУ.
Я хотел отделить место, где я нахожусь в терминале, от места, где я набираю команды.
Для этого мне нужно было сделать его zsh и применить тему
Убедитесь, что текущей оболочкой является bash
https://hirooooo-lab.com/development/change-mac-shell/
Попытался изменить его с помощью статьи hirooooo-lab
kaede@ship:~$ echo $SHELL
/bin/bash
Переменная $SHELL показывает текущую оболочку.
Проверьте, что zsh не находится в списке командных оболочек в нем
Если вы посмотрите на содержимое /etc/shells
, вы увидите
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
Есть dash и tmux, но нет zsh.
Поиск which zsh
не показывает никакого результата.
Установка zsh
https://qiita.com/sayama0402/items/ac9e078b024c3287f99f
sudo apt-get install zsh
The following additional packages will be installed:
zsh-common
Suggested packages:
zsh-doc
The following NEW packages will be installed:
zsh zsh-common
Unpacking zsh-common (5.8-3ubuntu1.1) ...
Unpacking zsh (5.8-3ubuntu1.1) ...
Setting up zsh-common (5.8-3ubuntu1.1) ...
Setting up zsh (5.8-3ubuntu1.1) ...
Processing triggers for man-db (2.9.1-1) ...
zsh и zsh-common были установлены.
Настройка zsh
zsh
Вы можете запустить zsh из bash с помощью этой команды.
This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~). This function can help you with a few settings that should
make your use of the shell easier.
You can:
(q) Quit and do nothing. The function will be run again next time.
(0) Exit, creating the file ~/.zshrc containing just a comment.
That will prevent this function being run again.
(1) Continue to the main menu.
(2) Populate your ~/.zshrc with the configuration recommended
by the system administrator and exit (you will need to edit
the file by hand, if so desired).
--- Type one of the keys in parentheses ---
Теперь у вас есть руководство по настройке вашей первой оболочки Z Shell.
Вы можете выбрать: «Выход», «Выход», переход в главное меню или «Рекомендации администратора».
Попробуйте воспользоваться рекомендациями администратора.
2
/home/kaede/.zshrc:15: scalar parameter HISTFILE created globally in function zsh-newuser-install
kaede@machine ~ %
Временно запустите zsh
Введите zsh, чтобы открыть zsh из bash.
Имя пользователя и название терминала на светло-голубом фоне
Текущая директория выделена светло-голубым текстом.
и на данный момент легче воспринимается, чем bash.
Если путь, по которому вы идете, длиннее, то
Команда автоматически прерывается в том месте, где вы ее набрали. Удобно.
Я хочу сделать эту % position > метку, поэтому я хочу вставить расширение.
До этого я хочу, чтобы zsh открывался при входе в систему.
Сделайте zsh оболочкой по умолчанию для входа в систему
Если вы только что установили новый zsh, когда вы выйдете и снова откроете новую оболочку, естественно, откроется bash.
Естественно, откроется bash.
https://qiita.com/sayama0402/items/ac9e078b024c3287f99f#%E8%BF%BD%E8%A8%98
Вы можете использовать chsh, CHange SHell, чтобы изменить оболочку, которая открывается по умолчанию
chsh -s $(which zsh)
Перезапустите приложение терминала, и zsh откроется.
Проверьте, что переменная $SHELL все еще является переменной bash
echo $SHELL
/bin/bash
Однако значением переменной $SHELL по-прежнему является bash.
Новые вкладки также открываются в zsh, но без изменения этой переменной
tmux не открывается с помощью zsh.
Установите переменную $SHELL на zsh, чтобы tmux также открывался с помощью zsh
Открывается ли он в соответствии с $SHELL?
Когда я открываю tmux, он открывается с помощью bash вместо zsh.
https://unix.stackexchange.com/a/430460
Ответ гласит: chsh не переписывает $SHELL.
Поэтому в нем говорится о необходимости переписать /etc/passwd.
root:x:0:0:root:/root:/bin/bash
Но я немного боюсь переписывать это.
Экспортируйте его в .zshrc и измените его.
# change SHELL value
export SHELL="/usr/bin/zsh"
Экспортируйте с помощью zsh путь в SELL.
~ % echo $SHELL
/usr/bin/zsh
Принято!
Теперь вы находитесь в zsh после запуска tmux!
P.S.
https://mikebuss.com/2014/02/02/a-beautiful-productive-terminal-experience/
В zsh при опечатке в команде
Он ищет нужного кандидата, и когда вы нажимаете кнопку
Когда вы нажмете ‘y’, он исправит это и повторно выполнит команду.
Резюме.
Вы можете установить zsh с помощью sudo apt-get install zsh
.
chsh -s $(which zsh)
для изменения оболочки входа в систему на zsh
export SHELL="/usr/bin/zsh"
в .bashrc
Оболочку входа в tmux можно также изменить на zsh, написав в .bashrc.