Модератор: Модераторы разделов
Mellon
Сообщения: 655
Статус: Powered by Gentoo
ОС: Gentoo
Сообщение
Mellon » 25.06.2007 00:09
Есть вот такой пример:
Код: Выделить всё
kdialog --menu "Select a language:" a "American English" b French d "Oz English"
Вопрос.
Почему
Код: Выделить всё
kdialog --menu "Select a language:" $(echo 'a "American English" b French d "Oz English"') дает совсем иной результат (по 1 слову на строку)?
Ведь
Код: Выделить всё
$ echo 'a "American English" b French d "Oz English"'
a "American English" b French d "Oz English"
Очень надо перенаправление в kdialog, может это по другому делается?
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
КВН
Сообщения: 242
Статус: Новичок
Сообщение
КВН » 25.06.2007 00:21
Может так:
Код: Выделить всё
kdialog --menu "Select a language:" $echo a "Eng" b "Fra" c "Rus"
Mellon
Сообщения: 655
Статус: Powered by Gentoo
ОС: Gentoo
Сообщение
Mellon » 25.06.2007 00:38
> Может так: ...
дальше-то что?
если из переменной брать:
Код: Выделить всё
hjk='a "American English" b French d "Oz English"'
kdialog --menu "Select a language:" $echo $hjk то снова та же фигня
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
КВН
Сообщения: 242
Статус: Новичок
Сообщение
КВН » 25.06.2007 04:17
а если так:
Код: Выделить всё
#!/bin/sh
#kdialog --combobox "Select a language:" "en en" "de de" "ru ru"
lang=("en en" "de de" "ru ru")
kdialog --combobox "Select a language:" "${lang[@]}"
Mellon
Сообщения: 655
Статус: Powered by Gentoo
ОС: Gentoo
Сообщение
Mellon » 25.06.2007 19:25
К сожалению, нет. Это движение по кругу: как теперь присвоить значение переменной, чтоб диалог был в норме?
Кстати, и с обычным диалогом такая же ситуация: невозможно корректно передать содержимое в диалог.
Даже вот такой дикий спелл не прокатывает:
Код: Выделить всё
$(paste -d ' ' <(echo 'dialog --menu 20 50 0 "Выберите"') <(echo '"a" "aa a" "b" "b bb" "c" "cc c"'))
$(paste -d ' ' <(echo 'kdialog --menu "Выберите"') <(echo '"a" "aa a" "b" "b bb" "c" "cc c"'))
$(paste -d ' ' <(echo 'kdialog --combobox "Выберите"') <(echo '"aa a" "b bb" "cc c"'))
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
Red User
Сообщения: 229
ОС: Debian
Сообщение
Red User » 29.06.2007 20:28
Код: Выделить всё
OLD_IFS=$IFS
IFS=_
str=$'a_American English_b_French_d_Oz English'
kdialog --menu "Select a language:" $str
IFS=$OLD_IFS
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
Mellon
Сообщения: 655
Статус: Powered by Gentoo
ОС: Gentoo
Сообщение
Mellon » 30.06.2007 12:19
Вау!
Красный! Спасибо!
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов