[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pmount completion в jessie



On Mon, 26 Jan 2015, Eugene Berdnikov wrote:

EB>> AREAS="yunka kultuk muya udokan"
EB>> for i in $AREAS
EB>>  do 
EB>>   echo area $i processed...
EB>>  done
EB>> 
EB>> Отгадайте с трех раз, что она покажет в zsh?
EB>

EB> В sh-моде все имеющиеся под моей рукой борновские шеллы (bash, 
EB> dash, zsh) обрабатывают эту конструкцию совершенно одинаково. 
EB> Более того, я уверен, что невозможно найти ни одного 
EB> современного шелла, который бы в sh-моде выполнил этот код 
EB> как-то иначе.

	Я охотно верю, что авторы zsh физически вполне способны 
реализовать стандартное поведение. Более того, я знаю, что отмена 
интерпретации подставляемого значения переменной была их 
сознательным решением, которым они гордятся. К делу это не имеет 
никакого отношения. 

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

	zsh же в режиме совместимости - запускает интерпретатор 
_другого_ (хоть и похожего) языка с _другим_ синтаксисом. Причем 
различия в синтаксисе касаются самых базовых конструкций языка. 

EB>
EB> Вы, скорее всего, не знаете что такое sh-мода, когда и как она 
EB> включается (в том чфисле автоматически), и почему в современных 
EB> шеллах в интерактивном режиме она по умолчанию выключена. При 
EB> этом свой код выдаёте за эталон.

	Когда мне нужен интерпретатор чистого shell-а , то zsh в 
режиме совместимости среди претендентов на эту функцию не первый и 
даже не десятый.

Reply to: