Главная
» LINUX
»
Как перейти с Bash на Zsh в Linux
Как перейти с Bash на Zsh в Linux
Чтобы перейти с Bash на Zsh в Linux, установите Zsh, протестируйте его, а затем настройте его как оболочку для входа в систему с помощью команды `npm install -bash` chsh. Перенесите только необходимые настройки Bash; Zsh — необязателен.
Zsh использует другие файлы запуска и не полностью совместим с синтаксисом других оболочек. Скрипты, начинающиеся с `<script>`, #!/bin/bashпо-прежнему используют Bash. См. руководство по Zsh .
1. Установите Zsh с помощью вашего менеджера пакетов.
Откройте терминал и выполните команду для вашего дистрибутива:
Дистрибутив Linux
Команда установки
Ubuntu, Debian, Linux Mint
sudo apt install zsh
Fedora и многие системы на базе RHEL.
sudo dnf install zsh
Arch Linux, Manjaro
sudo pacman -S zsh
openSUSE
sudo zypper install zsh
Пример команды менеджера пакетов для установки Zsh в дистрибутиве на основе Debian.
Перед сменой оболочки входа в систему найдите установленный исполняемый файл Zsh.
Путь может быть /usr/bin/zshили /bin/zsh; используйте свой собственный результат. Проверьте, разрешен ли вход в систему с помощью:
grep -Fx "$(command -v zsh)" /etc/shells
Пустой результат означает, что путь может быть недоступен для входа в систему. При необходимости обратитесь к администратору для обновления списка оболочек системы. См. руководство по оболочкам Linux .
3. Прежде чем устанавливать Zsh в качестве программы по умолчанию, попробуйте его использовать.
Запустите временную сессию Zsh, затем выведите её версию:
zsh
echo "$ZSH_VERSION"
Запустите Zsh в текущем терминале, чтобы попробовать его без изменения настроек вашей учетной записи.
Если у вас нет собственных файлов автозагрузки, Zsh может отобразить запрос на настройку при первом запуске; администраторы могут его отключить. Следуйте его настройкам или настройте файлы самостоятельно. Введите команду exit, чтобы вернуться в Bash. Этот тест не меняет вашу оболочку входа в систему.
4. Настройте Zsh и выборочно переместите параметры.
Zsh считывает интерактивные настройки из файла ~/.zshrc. В новом файле добавьте:
Пример настроек истории просмотров и автозавершения в личном .zshrcфайле.
Эти строки сохраняют историю команд и инициализируют автодополнение. Добавляйте необходимые строки в существующий файл вместо его замены. См. справочник по файлу запуска Zsh .
Перемещайте полезные псевдонимы и функции по ~/.bashrcодному ~/.zshrcи тестируйте их. Код автодополнения или подсказки, специфичный для Bash, может не работать в Zsh. Оставляйте скрипты Bash и их #!/bin/bashстроки без изменений.
5. Настройте Zsh в качестве оболочки для входа в систему.
После запуска Zsh и настройки основных параметров измените оболочку входа в свою учетную запись:
chsh -s "$(command -v zsh)"
Измените оболочку входа в текущую учетную запись, используя путь, указанный в command -v zsh.
Введите свой пароль, если потребуется. Это изменит оболочку входа в учетную запись, а не уже запущенный процесс Bash. При необходимости авторизованный администратор может запустить команду `chsh` sudo chsh -s "$(command -v zsh)" "$USER". См. руководство по chsh . Избегайте изменения оболочки root, если это не необходимо.
6. Откройте новый терминал и проверьте.
Закройте текущий терминал и откройте новый, или выйдите из системы и войдите снова. Затем проверьте как настроенную оболочку учетной записи, так и запущенную оболочку:
echo "$SHELL"
ps -p $$ -o comm=
Проверьте настроенную оболочку входа в систему и процесс оболочки в новом терминале.
Первая команда должна вывести путь к вашему Zsh; вторая должна сообщить zsh. Если Bash по-прежнему открывается, проверьте, запускает ли профиль терминала пользовательскую оболочку. Изменение оболочки входа в систему также влияет на новые сеансы SSH, поэтому протестируйте Zsh перед переключением удаленной учетной записи.
7. При желании можно установить Oh My Zsh.
Oh My Zsh — необязательный компонент, управляющий темами и плагинами. Для его работы требуются Zsh, Git и curl/или wget. В официальном файле README указана следующая команда установщика:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Официальная команда установки Oh My Zsh, показанная в терминале.
Проект рекомендует проверить скрипт перед его запуском. Создайте резервную копию всех существующих файлов ~/.zshrc; установщик переименует их в ~/.zshrc.pre-oh-my-zsh.
8. Выберите тему и плагины.
В меню ~/.zshrcвыберите тему и плагины, например:
ZSH_THEME="robbyrussell"
plugins=(git docker)
Настройки темы и плагина должны находиться в .zshrcфайле Oh My Zsh.
Разделяйте имена плагинов пробелами, а не запятыми. Проверьте документацию по плагинам, затем откройте новый терминал или запустите команду exec zshдля перезагрузки. О, мой Zsh не требуется для использования Zsh.
Распространенные решения
chshотклоняет путь: сравните его command -v zshс записями в файле /etc/shells, затем спросите у администратора, управляет ли система этим списком.
Псевдонимы исчезли: переместите совместимые псевдонимы в ~/.zshrc; Zsh не читает автоматически Bash ~/.bashrc.
Скрипт Bash завершается с ошибкой: запускайте его с помощью Bash или оставьте его шебанг Bash. Изменение интерактивной оболочки входа в систему не преобразует скрипты в Zsh.