Отмена кнопки ZENITY Использование

, поэтому довольно прямой вопрос, на 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
задан 21 January 2021 в 09:45

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 , что делает его несколько ненужным).

0
ответ дан 18 March 2021 в 23:41

Другие вопросы по тегам:

Похожие вопросы: