Re: zsh
Stanislav Maslovski -> debian-russian@lists.debian.org @ Sat, 2 Aug 2008 12:09:19 +0400:
>> Проверить можно, заменив eval на : ("do nothing").
>>
>> Вообще же обычно если хочется сделать eval выводу команды, то надо писать
>>
>> eval "`cmd`"
SM> Согласно документации на POSIX шелл:
SM> "The eval utility shall construct a command by concatenating arguments
SM> together, separating each with a <space>. The constructed command shall
SM> be read and executed by the shell."
SM> То есть, строго говоря, в общем случае двойные кавычки не обязательны.
SM> Зависит от желаемого эффекта.
SM> Но в _моем_примере_ двойные кавычки именно там и нужны.
Ключевое слово в моей фразе - "обычно".
>> Парсить строку eval будет сам. Хотя от GLOB_SUBST, согласно
>> документации, это не спасает.
SM> А ты проверил?
Нет. "Согласно документации".
SM> Если в моем примере делать так
SM> % eval "`./test`"
SM> то результат не подвергнется filename generation.
SM> Внутри двойных кавычек "*" -- простой символ.
Может, и подвергнется, но поскольку кавычки внешние по отношению к
command substitution, то * оказывается quoted. А filename generation
работает только на unquoted.
Правила операций с командной строкой в шелле отнюдь не отличаются
простотой, что да, то да...
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
The Eclipse Platform is an open and extensible platform
for anything and yet nothing in particular.
-- apt-cache show eclipse-platform
Reply to:
- Follow-Ups:
- Re: zsh
- From: Stanislav Maslovski <stanislav.maslovski@gmail.com>
- References:
- zsh
- From: Stanislav Maslovski <stanislav.maslovski@gmail.com>
- Re: zsh
- From: Artem Chuprina <ran@ran.pp.ru>
- Re: zsh
- From: Stanislav Maslovski <stanislav.maslovski@gmail.com>
- Re: zsh
- From: Artem Chuprina <ran@ran.pp.ru>
- Re: zsh
- From: Stanislav Maslovski <stanislav.maslovski@gmail.com>
- Re: zsh
- From: Artem Chuprina <ran@ran.pp.ru>
- Re: zsh
- From: Stanislav Maslovski <stanislav.maslovski@gmail.com>
- Re: zsh
- From: Artem Chuprina <ran@ran.pp.ru>
- Re: zsh
- From: Stanislav Maslovski <stanislav.maslovski@gmail.com>