Я использую оператор if для запуска разных ответов для каждой опции, выбранной в графическом интерфейсе yad zenity fork
.
По какой-то причине оператор if работает с некоторыми параметрами, а не с другими!?
ПРИМЕЧАНИЕ. В примере я заменил '^'
на '
.
opt=^yad --list --column="Option" --column="Description" \
1 "option 1" \
2 "option 2
<i> subtext </i>" \
| cut -c 1^
echo $opt
if [[ $opt == 1 ]]
then
echo 1
elif [[ $opt == 2 ]]
then
echo 2
else
echo error
первый вариант дает: 1 1
вариант 2 дает: 2 error
.
Переменная записывается правильно, как видно из вывода echo $opt
. Я знаю, что это как-то связано с subtext
, если я сотру его, проблема исчезнет, но почему я понятия не имею.
Может ли кто-нибудь помочь мне с исправлением или предложить обходной путь?
Спасибо за всю твою помощь! Эта проблема действительно ставит меня в тупик.