Re: dialog dynamic menu
Vadim Vatlin -> debian-russian@lists.debian.org @ Fri, 15 Jun 2007 13:03:07 +0400:
>> Не у dialog, а у sh. dialog тут совершенно ни при
>> чем. У парсера sh,
>> впрочем, тоже логика вполне
>> систематическая. Правда, не интуитивная.
>> Применительно к данному случаю - вывод
>> команды в `` режется на слова
>> без учета кавычек.
VV> Хм.. не могу понять...
VV> Что значит режеться ???
Вывод команды в `` будет подставлен не как одно "слово", а как
несколько. И при разрезании его на несколько слов для этой подстановки
кавычки не учитываются.
VV> В качестве shell я использую bash:
VV> If the substitution appears within double quotes, word splitting and
VV> pathname expansion are not performed on the results.
VV> НО:
VV> ${DIALOG} --checklist "Choose any items: " 0 0 0 \
VV> "$(< checklist)" \
VV> 2> /tmp/checklist.tmp.$$
VV> Тоже не работает.
Правильно, тут ты подставляешь вывод _одним_ словом. А тебе надо
шестью.
VV> И почему тогда dialog такое не понимает:
VV> CHECK_LIST='
VV> "item1" "Description of item1" off
VV> "item2" "Description of item2" off'
VV> и такое не понимает:
VV> CHECK_LIST="
VV> \"item1\" \"Description of item1\" off
VV> \"item2\" \"Description of item2\" off"
VV> ${DIALOG} --checklist "Choose any items: " 0 0 0 \
VV> $CHECK_LIST \
2>> /tmp/checklist.tmp.$$
VV> Тоже не работает.
VV> p.s.
VV> хотелось бы понять, логику работы...
Читать ман на sh надо целиком. Там написано, что он в каком порядке
делает. Из этого, собственно, следует, почему оно раскрывается так, а
не иначе.
Скорее всего, два последних варианта сработают в виде
eval "${DIALOG} --checklist \"Choose any items: \" 0 0 0 $CHECK_LIST"
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
/итд/почтопосылалка.нстрк (c)
Reply to: