Zsh. Прочие возможности

Очень интересна (и удобна) в zsh работа с командными конструкциями перенаправления. Здесь и

  • множественное перенаправление вывода, когда результат выполнения команды направляется сразу в несколько файлов, и
  • множественное перенаправление ввода -- когда команда, напротив, получает аргументы последовательно из более чем одного файла, и
  • перенаправление без команды, когда конструкция типа
    $ < filename
  • просто выведет на экран содержимое указанного файла -- без привлечения команд типа cat или less.

При перенаправлении возможна группировка команд и использование шаблонов. Так, файлы с именами вида file1 и file2 можно просмотреть одной командой

$ < file{1,2}

Перенаправление ввода/вывода может иногда заменять конвейеризацию команд. Так, конструкция вида

$ sort < file{1,2}

отсортирует содержимое обоих файлов точно так же, как это сделал бы конвейер команд

$ cat file1 file2 | sort

Наконец, ещё одна специфическая особенность zsh -- так называемая пред-исполнимая модификация команд (precommand modifier), осуществляющаяся перед их интерпретацией. Именно таким образом можно отменить чрезмерно навязчивую автокоррекцию аргументов для одной отдельно взятой команды, например, копирования:

$ nocorrect cp file1 file2

Это запретит попытки коррекции имени вновь создаваемого файла file2 похожим из числа существующих. Причём, занеся в профильный файл псевдоним для команды cp как самой себя с таким премодификатором

alias cp='nocorrect cp'

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

. .