URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 104551
[ Назад ]

Исходное сообщение
"Релиз командной оболочки zsh 5.1"

Отправлено opennews , 02-Сен-15 13:03 
Представлен (http://www.zsh.org/mla/users//2015/msg00839.html) релиз командной оболочки zsh 5.1 (http://www.zsh.org). Оболочка поддерживает набор команд bourne shell и обладает рядом расширенных функций, направленных на увеличение удобства интерактивной работы в командной строке. В частности, zsh отличается гибкой системой выборки файлов, возможностью редактирования многострочных команд и мощными средствами автоматического дополнения ввода, в том числе с поддержкой автодополнения аргументов для различных популярных команд.


Основные новшества (http://sourceforge.net/p/zsh/code/ci/master/tree/NEWS):


-  Изменена нумерация выпусков, вместо трёх цифр (x.y.z) для релизов теперь будет применяться упрощённый формат "x.y", где x - номер значительной ветки, y - номер корректирующего выпуска;
-  Поддержка нового синтаксиса назначений переменных после встроенных ключевых слов, таких как "local", "declare", "export", "readonly" и "typeset". Для данных ключевых слов введены зарезервированные наименования и изменён порядок присвоения значений  -  все перечисляемые после ключевых слов отдельные присвоения теперь трактуются как присвоения, заданные с новой строки. Например, при указании "local scalar=`echo one word` array=(several words)" в локальную переменную scalar будет записан текст "one word", а в массив значения  "several" и "words";


-  Добавлена защита от атак по подстановке команд в терминал: текст теперь передаётся в форме экранированного набора символов, что требует явного нажатия Enter на клавиатуре для выполнения команды, без возможности инициировать данное действие через спецсимвол перевода строки. Защита реализована через новый режим ZLE, осуществляющий принудительное обрамления в кавычки текста, вставляемого из буфера обмена;

-  Усовершенствованы средства автодополнения ввода;
-  В команду print добавлены опции -x и -X для раскрытия символов табуляции в пробелы;

-  В "fc" добавлены опции для разделения внутренней и совместной истории;
-  Все эмуляции, включая "sh", переведены по умолчанию на использование мультибайтовой кодировки;

-  Улучшена совместимость встроенной команды getopts с POSIX (в режиме POSIX_BUILTINS);
-  Новый параметр setopt APPEND_CREATE для включения POSIX-совместимого поведения NO_CLOBBER;

-  Для управления  откатом изменений добавлен новый параметр UNDO_LIMIT_NO;

-  Многочисленные изменения в работе с дочерними процессами и обработке сигналов, внесённые для избежания состояний гонки  и взаимных блокировок при использовании файловых дескрипторов и управлении памятью;
-  В модуле zsh/system реализована новая встроенная команда sysopen для детального управления режимами файловых дескрипторов.

URL: http://www.zsh.org/mla/users//2015/msg00839.html
Новость: http://www.opennet.me/opennews/art.shtml?num=42896


Содержание

Сообщения в этом обсуждении
"Релиз командной оболочки zsh 5.1"
Отправлено Khariton , 02-Сен-15 13:14 
Оно-то да, чем больше, тем лучше. Но совместимость...(((
1. Что есть такого чего нет в bash + дополнения (типа bash-completion)?
2. С какой версией bash данная версия имеет 100% совместимость?

"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 13:27 
не умеешь ты критиковать.
В bash есть много чего, "чего нет в bash + дополнения". Вопрос - нужно ли это всё. Запускаешь - всё нещадно свистит и пердит. Смотришь на терминал товарища, использующего oh-my-zsh - и того лучше, везде какие-то разные цвета, ветки git, прочая фигня, нещадно тормозящая по нажатию tab.

[сообщение отредактировано модератором]


"Релиз командной оболочки zsh 5.1"
Отправлено burjui , 02-Сен-15 13:53 
> Вопрос - нужно ли это всё.

Мне нужно. Я готов пожертвовать пару сотен миллисекунд на дополнение путей, флагов и т.п., которое работает лучше, чем bash-completion, на отображение текущей ветки в git и т.д. Самое главное - с oh-my-zsh это работает из коробки, никакого шаманства. С тех пор, как перешёл на zsh, любое столкновение с bash вызывает лишь печаль - но не потому, что bash плохой (я же им пользовался все эти годы), а потому что zsh удобнее, а к удобствам привыкаешь.


"Релиз командной оболочки zsh 5.1"
Отправлено freehck , 02-Сен-15 14:41 
Тут надо понимать, что дополнения ведут себя также, как и программы. Есть требовательные, есть не очень. Если Вам нужна удобная и быстрая работа в shell, ну так не используйте аддоны, вызывающие тормоза. Тот же oh-my-zsh лучше в этом плане рассматривать как коллекцию расширений, из которых можно выбрать подходящие Вам лично.

Я вот не использую его, например. Пока меня вполне устраивает связка zsh + zsh-syntax-highlight + completion + собственные алиасы и переменные окружения. Скажу честно -- без zsh-syntax-highlight мне сильно грустно работать.

А если просто включаете oh-my-zsh, то это всё равно что винду со ZverCD накатывать: куча конфликтов, куча ненужных свистелок...

Короче, мысль такая: ставьте только нужное, и получите хороший shell.

По поводу преимуществ zsh на bash -- я даже ответить затрудняюсь. Сравните хотя бы man-страницы: у zsh она в 5,5 раз больше. А ведь это только базовый функционал. Это мы ещё не говорили об огромном количестве расширений для zsh.

Что касается zsh как скриптового языка, то там более интуитивные правила раскрытия параметров, с массивами работать удобнее, да и вообще складывается у меня впечатление, что новичкам на нём было бы легче писать обвязки, нежели на bash: из-за удобного синтаксиса скрипт просто более интуитивно вычисляется. В то же время прежде, чем программист начнёт писать хороший код на bash, он должен набить множество шишек: сам начал писать на нём нормально лишь после прочтения SICP, когда хотя бы появилось понимание, что как было сделано и зачем.

Это, конечно, крайне субъективно, скорее всего дело вкуса просто, поэтому ни на чём настаивать не возьмусь.


"Релиз командной оболочки zsh 5.1"
Отправлено Michael Shigorin , 02-Сен-15 13:52 
> 1. Что есть такого чего нет в bash + дополнения (типа bash-completion)?

Например, включаемая защита от rm * и множество других мелочей, которые вылазят в уставшем виде.

> 2. С какой версией bash данная версия имеет 100% совместимость?

Зачем?  Совместимость имеет смысл с POSIX sh.  А так различнейшие shell-скрипты нередко исполняю zsh (я в курсе про шебанг), порядок.


"Релиз командной оболочки zsh 5.1"
Отправлено Khariton , 02-Сен-15 15:10 
> Например, включаемая защита от rm * и множество других мелочей, которые вылазят
> в уставшем виде.

alias rm='rm -i' ?

> Зачем?  Совместимость имеет смысл с POSIX sh.  А так различнейшие
> shell-скрипты нередко исполняю zsh (я в курсе про шебанг), порядок.

Ну да если писать А=5
то скорее всего ошибок не будет...)))


"Релиз командной оболочки zsh 5.1"
Отправлено systemd_anonymousd , 02-Сен-15 13:56 
> Оно-то да, чем больше, тем лучше. Но совместимость...(((
> 1. Что есть такого чего нет в bash + дополнения (типа bash-completion)?
> 2. С какой версией bash данная версия имеет 100% совместимость?

1. Автодополнение в zsh очень и очень крутое. Особенно раскрытие путей, например, из /u/sh/doc/ffmp в /usr/share/doc/ffmpeg.
2. Про это не знаю.


"Релиз командной оболочки zsh 5.1"
Отправлено Khariton , 02-Сен-15 15:15 
> 1. Автодополнение в zsh очень и очень крутое. Особенно раскрытие путей, например,

Наверное единственное чего нет в bash.
Хотя через таб как-то привычнее.
Вопрос не праздный а в связи с совместимостью пользовательского интерфейса.
Ну поставлю я себе zsh. А на работе в силу определенных правил будет везде bash. Я привык к определенным методикам работы, которые повшают мою производительность, а там мало того что их не будет а оно еще и не правильно может отработать, даже с вредом при удачном совпадении. Ну, например, дадите вы
cp 1 /u/sh/doc/ffmp
а там такой файл возьми да и окажется...)))
zsh я думаю предложит варианты а у вас файл затрется.
Так что для локалхоста годно, а глобально надо полная совместимость...


"Релиз командной оболочки zsh 5.1"
Отправлено burjui , 02-Сен-15 17:16 
> Хотя через таб как-то привычнее.

...
> Ну, например, дадите вы
> cp 1 /u/sh/doc/ffmp
> а там такой файл возьми да и окажется...)))

Вообще-то zsh преобразует /u/sh/doc/ffmp в /usr/share/doc/ffmpeg только по нажатию TAB, так что если после нажатия ничего не поменялось, значит файл есть. В остальных случаях zsh покажет варианты.


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 03-Сен-15 11:55 
Чего только люди не придумают, лишь бы не использовать mc. :)

"Релиз командной оболочки zsh 5.1"
Отправлено Клыкастый , 03-Сен-15 12:22 
в нём есть автодополнение путей по TAB?

"Релиз командной оболочки zsh 5.1"
Отправлено Andrey Mitrofanov , 03-Сен-15 14:09 
> в нём есть автодополнение путей по TAB?

Есть. Весьма местами, насколько я зна, - имена команд и пути/файлы. Alt-Tab aka Esc,Tab во многих [файловых] диалогах и ком."строке".


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 03-Сен-15 18:41 
Что только не используют люди, лишь бы не юзать ranger.

"Релиз командной оболочки zsh 5.1"
Отправлено ... , 02-Сен-15 14:14 
1. Статей на эту тему - тьма.
2. С той которая у тебя установлена). У меня скрипты которым нужен bash имеют "#!/usr/bin/env bash" и  работать не перестали, при написании на bash чего-то простого в shell-е zsh проблемы отсутствовали.  

"Релиз командной оболочки zsh 5.1"
Отправлено Khariton , 02-Сен-15 15:17 
> 1. Статей на эту тему - тьма.
> 2. С той которая у тебя установлена). У меня скрипты которым нужен
> bash имеют "#!/usr/bin/env bash" и  работать не перестали, при написании
> на bash чего-то простого в shell-е zsh проблемы отсутствовали.

а совместимость по интерфейсу? вам легко после zsh работать в bash?
Мне при переходе на sh(например в Соларисе) приходится постоянно твердить себе - это не bash...


"Релиз командной оболочки zsh 5.1"
Отправлено iPony , 02-Сен-15 13:13 
Очень нужно.
Ибо у него много удобных фишечек и лицензия BSD, а не вирусная GPLv3

"Релиз командной оболочки zsh 5.1"
Отправлено f1u77y , 02-Сен-15 13:33 
>  лицензия BSD, а не вирусная GPLv3

а какие конкретно приемущества лицензии bsd сделают для тебя удобнее использование этого шелла?


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 13:50 
А чего тут непонятного? Возможность не посылать свои патчи в мэйнлайн и продавать видоизмененный продукт, не открывая исходников, конечно же! Это очень распространённый юзкейс: только посмотри на все эти тысячи закрытых клонов zsh, которые нарасхват покупаются несчастными потребителями, томимыми необходимостью использовать GPL-ный bash!

"Релиз командной оболочки zsh 5.1"
Отправлено KOT040188 , 02-Сен-15 14:01 
Гениально! Теперь я знаю все преимущества BSD! ヅ Сохранил, чтобы не забыть.

"Релиз командной оболочки zsh 5.1"
Отправлено Клыкастый , 03-Сен-15 12:24 
> А чего тут непонятного? Возможность не посылать свои патчи в мэйнлайн и
> продавать видоизмененный продукт, не открывая исходников, конечно же! Это очень распространённый юзкейс: только посмотри на все эти тысячи закрытых клонов zsh

(подслеповато щурясь)
не вижу... зрение?


"Релиз командной оболочки zsh 5.1"
Отправлено Andrey Mitrofanov , 03-Сен-15 14:19 
>>только посмотри на все эти тысячи закрытых клонов zsh
> (подслеповато щурясь)
> не вижу... зрение?

Прописываю обновление броузера на тему тага "сарказм". Сеня, береги ру^Wглаза!


"Релиз командной оболочки zsh 5.1"
Отправлено iPony , 02-Сен-15 13:52 
> а какие конкретно приемущества лицензии bsd сделают для тебя удобнее использование этого шелла?

Не сделают, а делают. Благодаря такой лицензии, оно в OS X из коробки.


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 13:55 
> Не сделают, а делают. Благодаря такой лицензии, оно в OS X из коробки.

Неиспользование из коробки GPL-продуктов в яблооси — недостаток не GPL, а яблооси.


"Релиз командной оболочки zsh 5.1"
Отправлено ... , 02-Сен-15 14:20 
>> Не сделают, а делают. Благодаря такой лицензии, оно в OS X из коробки.
> Неиспользование из коробки GPL-продуктов в яблооси — недостаток не GPL, а яблооси.

Там bash умолчательный.


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 14:42 
Тогда это тем более не преимущество лицензии BSD.

"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 14:59 
> Там bash умолчательный.

Угу, там пирамида с мумией BASHотамона III.II


"Релиз командной оболочки zsh 5.1"
Отправлено iPony , 02-Сен-15 17:17 
Почувствуй разницу

> % zsh --version

zsh 5.0.5 (x86_64-apple-darwin14.0)

> % bash --version

GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Copyright (C) 2007 Free Software Foundation, Inc.

GPLv3 же очень строптивая лицензия...


"Релиз командной оболочки zsh 5.1"
Отправлено АнонимХ , 02-Сен-15 17:25 
Строптивая? GPL - это ответ на проприетирастские ухищрения урвать побольше и вставить поглубже, не более.

"Релиз командной оболочки zsh 5.1"
Отправлено Andrey Mitrofanov , 03-Сен-15 14:13 
> GNU bash, version 3.2.57(1)
> GPLv3 же очень

Works as designed! Друзья проприертарщиков страдают от собственных рассказов о страданиях проприертарщиков. Double win!!


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 05-Сен-15 13:23 
Что тут непонятного копирасты хотят не только лицензионные отчисления но и код нахаляву.

"Релиз командной оболочки zsh 5.1"
Отправлено f1u77y , 02-Сен-15 13:16 
и всё равно fish лучше

"Релиз командной оболочки zsh 5.1"
Отправлено omnomnim , 02-Сен-15 13:40 
cmd.exe forever

"Релиз командной оболочки zsh 5.1"
Отправлено f1u77y , 02-Сен-15 13:48 
> cmd.exe forever

не, там автокомплит не оч, да и божественных фишек powershell нет


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 15:43 
Открой для себя clink

"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 13:53 
> и всё равно fish лучше

Лучше mirbsd korn shell. Меньше фич, плохих и одинаковых!


"Релиз командной оболочки zsh 5.1"
Отправлено An on , 02-Сен-15 15:20 
Бесспорно, для домохозяек fish лучше

"Релиз командной оболочки zsh 5.1"
Отправлено f1u77y , 02-Сен-15 21:33 
> домохозяек

ты всерьёз считаешь людей, которые хотят удобную среду для работы, домохозяйками?



"Релиз командной оболочки zsh 5.1"
Отправлено GotF , 02-Сен-15 16:48 
> и всё равно fish лучше

fish сложно назвать иначе как поделкой. Любой, кто использует шелл для чего-то, кроме запуска screenfetch, это понимает.


"Релиз командной оболочки zsh 5.1"
Отправлено f1u77y , 02-Сен-15 21:32 
использую шелл для много чего, а fish считаю не поделкой, а хорошим, удобным(да ещё и из коробки) шеллом.

"Релиз командной оболочки zsh 5.1"
Отправлено Michael Shigorin , 02-Сен-15 13:54 
Подумываю с год или поболее перетащить altlinux.org/rescue на zsh по умолчанию -- принимаются мнения "за" и "против".  Сейчас там обычный bash3 _без_ bash-completion, который способен выдавать неожиданности, например, при дополнении параметров mount(8).

"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 13:59 
> Подумываю с год или поболее перетащить altlinux.org/rescue на zsh по умолчанию --
> принимаются мнения "за" и "против".  Сейчас там обычный bash3 _без_
> bash-completion, который способен выдавать неожиданности, например, при дополнении параметров
> mount(8).

Все мои случаи использования zsh сводились к борьбе с еще более неожиданным completion-ом. Если есть возможность его как-то отключать — тогда, может, и есть смысл, хоть у меня и есть впетчатление, что completion — это его основная фича.


"Релиз командной оболочки zsh 5.1"
Отправлено GotF , 02-Сен-15 16:56 
> Если есть возможность его как-то отключать — тогда, может, и есть смысл, хоть у меня и есть впетчатление, что completion — это его основная фича.

Есть возможность отключать и даже использовать вместо zcompsys, написанного на zsh, «старую» систему compctl (на самом деле можно и совмещать). Что касается фич, то есть и приятные синтаксические расширения (как пример — удобный foreach для однострочников), и мощный zle, и ещё много важных мелочей.


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 14:35 
Да решай сам, всёравно у альта больше пользователей нет.

"Релиз командной оболочки zsh 5.1"
Отправлено count0krsk , 02-Сен-15 21:42 
Ну зачем так категорично... Придёт импортозамещение, и сразу куча появится. Свою ОС, как и свои ракеты надо всегда иметь "про запас". Так что ребята хорошее дело делают, потом спасибо скажут им.

"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 03-Сен-15 09:38 
> импортозамещение
> Свою ОС

Толсто же


"Релиз командной оболочки zsh 5.1"
Отправлено count0krsk , 03-Сен-15 14:25 
Не, всё норм. Они там весь код облазали за время разработки, и явных троянских коней стопудово нет. Так что тут своя - в смысле если и будет стучать - то только своим органам, а не фиг пойми кому. Есть ещё МСВС, или как там его... Кстати, что мешает Альту получить допуск на работу с гостайной? Так была секурная ОС, можно было бы ставить на важные серваки. Ну и что, что отстает от лубунты, зато надежная ;-)



"Релиз командной оболочки zsh 5.1"
Отправлено б.б. , 04-Сен-15 11:18 
если был бы адрес этого rescue, который я мог бы вбить в консоль ipxe, типа

dhcp
chain http://rcd.altlinux.org

то и я бы использовал, когда срочно надо :) при вменяемых размерах


"Релиз командной оболочки zsh 5.1"
Отправлено freehck , 02-Сен-15 14:46 
> Сейчас там обычный bash3 _без_
> bash-completion, который способен выдавать неожиданности, например, при дополнении параметров mount(8).

Странно. Сколько пользуюсь bash-completion, ни разу не наблюдал таких вещей. Возможно, эта проблема относится только к altlinux, Михаил?


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 16:14 
Не знаю, как mount, а с дополнением параметров mplayer у меня проблемы были: почему-то автодополнение думает, что медиафайлом может быть только файл с одним из заранее известных расширений, и отказывается дополнять файл, заканчивающийся на .mp4a или .weba, к примеру, не говоря уже о файлах без расширений вовсе.

"Релиз командной оболочки zsh 5.1"
Отправлено iCat , 03-Сен-15 07:00 
Лично моё мнение: Rescue должен иметь максимально предсказуемое поведение.
Rescue всё-таки...

"Релиз командной оболочки zsh 5.1"
Отправлено Меломан1 , 05-Сен-15 21:32 
> Подумываю с год или поболее перетащить altlinux.org/rescue на zsh по умолчанию --
> принимаются мнения "за" и "против".  Сейчас там обычный bash3 _без_
> bash-completion, который способен выдавать неожиданности, например, при дополнении параметров
> mount(8).

Против.


"Релиз командной оболочки zsh 5.1"
Отправлено SysA , 14-Сен-15 14:12 
> Подумываю с год или поболее перетащить altlinux.org/rescue на zsh по умолчанию --
> принимаются мнения "за" и "против".  Сейчас там обычный bash3 _без_
> bash-completion, который способен выдавать неожиданности, например, при дополнении параметров
> mount(8).

A почему v3?! Как бы там проблем всяких есть?.. ;)

Сам я альт никогда не использовал, поэтому не знаю его целевой аудитории, но лично для меня zsh в SRCD раздражает порой... Думаю, что zsh все-таки лучше для новичков и/или непрофессионалов... ИМХО.

BTW: Только что спросил коллегу, - он того же мнения, так что -2 к zsh! :)


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 15:53 
Использую zsh.. хороший шел, но как же он меня иногда батхертит.
Я НЕПОНИМАЮ как можно было так сделать чтобы он по табуляции пытался в домашние диры юзеров долбиться.
Например, хочу попасть в папку rino в текущей дире:
~]>cd r
rabbitmq  redis     rino/   riak      root

Раз в год пытаюсь от этого избавиться, трачу 1-2 часа, лет 8 уже и пока без результата.
И ОТ ЭТОГО ТАК БОМБИТ!"!!


"Релиз командной оболочки zsh 5.1"
Отправлено cadmi , 02-Сен-15 16:14 
> Раз в год пытаюсь от этого избавиться, трачу 1-2 часа, лет 8
> уже и пока без результата.
> И ОТ ЭТОГО ТАК БОМБИТ!"!!

Держи, братец

echo 'unsetopt cdablevars' >> ~/.zshrc

:D


"Релиз командной оболочки zsh 5.1"
Отправлено АнонимХ , 02-Сен-15 17:27 
cd ./r

"Релиз командной оболочки zsh 5.1"
Отправлено GotF , 02-Сен-15 16:46 
> Новый параметр setopt APPEND_CREATE

Одним из первых шагов, сделавших zsh для меня понятным, стало чёткое понимание того, что есть опция, а что параметр (в bash то же самое, но можно не вникать). Ну так вот, это опция.


"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 02-Сен-15 19:26 
надо было вовсе убрать минорный номер, тогда инвесторы потянулись бы

"Релиз командной оболочки zsh 5.1"
Отправлено CSRedRat , 03-Сен-15 12:54 
UDP научилось?

"Релиз командной оболочки zsh 5.1"
Отправлено Аноним , 04-Сен-15 12:55 
Оно перестало тормозить при автокомплите в git-репах? А автодополнение для команды scp в примонтированной NFS шаре отрабатывает за приемлемое время? Приходилось делать ls <файл>, <UP>, заменить ls на scp.