НовостиСобытияКонференцииФорумыIT@Work
Open Source:

Блог

Shell: bash или zsh

Сергей Голубев
10.09.2014 12:36:44

Оценившие практичность консольных приложений пользователи рано или поздно приходят к необходимости выбрать самую лучшую оболочку shell. Самый хороший вариант — попробовать все. Однако, оболочек довольно много, поэтому радикальному перфекционисту придётся нелегко.

Поэтому я пошёл по простому пути, ограничившись двумя наиболее популярными решениями — bash и zsh.

Bash — оболочка, используемая в большинстве дистрибутивов по умолчанию. Как правило, никаких дополнительных настроек для неё не требуется. Мне было достаточно только дописать в файл .inputrc следующие строки:

Код
"\e[A": history-search-backward
"\e[B": history-search-forward

Это позволяет ограничить историю теми командами, которые начинаются с введённых символов. Например, набрать в консоли «vi», а потом стрелками «вверх-вниз» выбирать только те, что начинаются с «vi».

Zsh — другое дело. Эта оболочка нуждается в тщательной настройке. Например, совершенно необходимо дополнить конфигурационный файл .zshrc следующими строками:
Код
setopt menucomplete
zstyle ':completion:*' menu select=1 _complete _ignored _approximate

И получить возможность выбирать варианты автодополнения при помощи стрелочек.



Особенно это удобно при открытии файла — по сути получается полноценный визуальный файловый менеджер.



А строка «setopt autocd» позволяет не вводить команду «cd» при необходимости перейти в другой каталог. В сочетании с автодополнением получается очень удобно.

Например, чтобы попасть в каталог Documents/PCWeek/Blog достаточно ввести D/P/B и нажать на кнопку Tab. Экономия времени очевидна.

Таким образом, выбор между bash и zsh — это выбор между привычным и функциональным. Поэтому — очень непростой. По крайней мере, времени он потребует немало.

Комментариев: 6

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

11.09.2014 06:22:55

прикольно, но mc всё же проще

Да и то, что могут консоли + шелы - детский лепет, по сравнению с консолями у геймеров MUD-игр (MMC, JMC, KMUD, ...)

более высокая скорость отображения, хайлайты, триггера, алиасы-макрокоманды, переменные и пр...

11.09.2014 18:07:16

Цитата
но mc всё же проще


Нет. Он дико примитивен, особенно тяжело ему удаются операции копирования.

Цитата
хайлайты, триггера, алиасы-макрокоманды, переменные


ЫЫЫ. Ты ещё скажи, пайпы! smile:D smile:D smile:D

12.09.2014 06:16:02

каким образом пайпы (именованные каналы???) относятся к юзер-интерфейсу?

12.09.2014 09:28:21

Прямым.

https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D0%B9%D0%B5%D1%80_%2­8UNIX%29

12.09.2014 09:45:18

не вижу связи
переправляй себе сколько влезет, как это на интерфейс программы консоли или шела влияет?

хайлайты - раскраска вывода по регэкспу
триггер - действие на приход определённого сочетания текста по регэкспе
хоткей - горячая клавиша

всё это очень ускоряет понимание текста, ускоряет работу,
не согласны???

правда если вы зашли в консоль тока для установки очередной приблуды, то да - вам это всё не нужно

12.09.2014 19:20:07

Цитата
переправляй себе сколько влезет, как это на интерфейс программы консоли или шела влияет?


ls -a | grep some | less

Это и есть интерфейс.

Цитата
не согласны???


Почему не согласен. Просто ты так пишешь, как будто в zsh этого нет.

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии