, поэтому довольно прямой вопрос, на Zenity Theres - 2 кнопки на каждой странице, OK и отмены. С моим сценарием мне удается назначить код ZENITY для переменной, где я могу выбрать дату для моего календаря. Я хотел бы использовать кнопку «Отмена» для моей повестки дня, поэтому я переименовал его, но я не знаю, как заставить его работать! Спасибо
#!/bin/bash
calendarinput=$(zenity --calendar \
--title "Scheduler" \
--text "Pick a date" \
--ok-label "Done" --cancel-label "Agenda" \
--date-format "%A %d/%m/%y")
agenda+="$calendarinput"
unset calendarinput
calendarinput="Done"
if [ "$calendarinput"="Done" ];then
remind=$(zenity --entry)
agenda+="$remind\n"
fi
zenity --info \
--text "$agenda"
Это только 1 функция моего скрипта. Это еще одно меню списка до этого.
Вы можете найти код возврата из кнопок в специальном параметре $?
, который содержит код выхода из последней выполненной команды. Он может быть либо 0, 1 или 5, в зависимости от того, нажал ли пользователь OK, CANCEL или TIMEOUT.
#!/bin/bash
calendarinput=$(zenity --calendar \
--title "Scheduler" \
--text "Pick a date" \
--ok-label "Done" --cancel-label "Agenda" \
--date-format "%A %d/%m/%y")
ret=$?
if ((ret==0)); then
echo "Done"
else
echo "Agenda"
fi
Выражения в формате IF-оператора должны быть разделены с пространством:
if [ "$calendarinput" = "Done" ]; then
(также всегда будет оценивать как true , что делает его несколько ненужным).