On Mon, 26 Jan 2015, Artem Chuprina wrote: AC>Fedor Zuev -> debian-russian@lists.debian.org @ Mon, 26 Jan 2015 21:37:41 +0800 (IRKT): AC> AC> EB>>> Язык zsh, командная строка zsh - это не надстройка над стандартным AC> EB>>> shell-языком и стандартной командной строкой, а плод личных AC> EB>>> философских раздумий его авторов о наиболее клевом дизайне AC> EB>>> командного языка. AC> EB>> AC> EB>> Может, изложите претензии конкретно? Звучит как совершеннейший бред. AC> AC> FZ> Ну вот например такая часто используемая мной конструкция AC> AC> FZ> AREAS="yunka kultuk muya udokan" AC> FZ> for i in $AREAS AC> FZ> do AC> FZ> echo area $i processed... AC> FZ> done AC> AC> FZ> Отгадайте с трех раз, что она покажет в zsh? AC> AC>В zsh зато можно без геморроя работать с ситуациями, когда некоторые из AC>арий содержат пробел. В sh/bash тоже можно, но с геморроями, а учитывая AC>количество вариаций sh со своими ошибками - с дикими геморроями.
А скажем на перле все это делать еще проще. Я же про это уже написал - если у нас речь не про реализацию шелла, а про общеабстрактный скриптовый язык - то zsh оказывается далеко в пролете вместе со всеми прочими шеллами. Практически, если у меня встанет вопрос в том, чтобы выучить еще один скриптовый язык, то это будет явно не zsh. С другой стороны, никакому новичку не получится изучать zsh _вместо_ bash/dash/sh - последние ему все равно понадобятся. Для протокола - мне решения авторов zsh, перечисленные и неперечисленные, кажутся по меньшей мере небесспорными. Вот, в данном случае отмена раскрытия строки в одном частном случае дает некоторое упрощение в одном частном случае - но при этом ломает концепцию. Теперь получается что список, взятый из переменной не раскрывается, а точно такой же список, полученный из `list-areas.sh` (или `seq 1 10` ) - раскрывается. Но моя исходная позиция была не в том что это плохо (про это можно спорить), а про то, что это нестандартно. Это не расширение шелла, а совершенно другой язык, отличающийся от шелла в самых элементарных операциях. AC>либо, если уж так хочется прострелить себе ногу, включить режим AC>совместимости с sh и его тараканами, где незакавыченное $AREAS будет AC>делиться по пробелам? А в чем тогда смысл пользоваться zsh вместо dash?