Я довольно плохо знаком с записью сценария и не могу найти, как сделать то, что я пытаюсь сделать. Я пытаюсь иметь сценарий, просят подтверждение ввода данных пользователем во всплывающем окне на экране для удобства. Позволяет говорят, что это делает это каждые 24 часа. Если введенный не дан, это отображает текстовый файл (предпочтительно как .doc файл) и завершает отъезд открытого файла. если введенный дан, это сбрасывает в течение еще 24 часов. Ввод данных пользователем не должен быть сложным, это просто для человеческого подтверждения для сброса.
Я надеюсь, что существует что-то там, которое может сделать это. Заранее спасибо за любого и всю справку.
Вот маленький сценарий, который будет отображать всплывающее окно каждые 24 часа, как Вы запросили (sleep 24h
часть). При запуске сценария необходимо обеспечить два параметра командной строки - время для ожидания ввода данных пользователем от раскрывающегося и полного пути (!) до файла, который Вы хотите открыть. Пример:
./dialog_timeout.sh 3 /etc/passwd
, Так как Вы упомянули, это только для человеческой проверки, сценарий только проверяет, непусто ли то, что было возвращено окном ввода значения, (потому что окно ввода значения уничтожается timeout
команда после того, как тайм-аут достигнут, таким образом, вход будет пуст). Так, другими словами, Вы должны вводить что-то. Обратите внимание, что при нажатии на отмену или если Вы нажимаете "OK", но Ваш вход был пуст, затем сценарий примет условие сбоя, таким образом, это отобразит документ, Вы хотите.
Примечание: стандартные правила для того, чтобы сделать сценарии осуществимыми применяются - хранят файл предпочтительно в ~/bin
и гарантируют, что это - исполняемый файл с chmod +x ~/bin/dialog_timeout.sh
#!/bin/bash
got_input()
{
result=$(timeout $1 zenity --entry --text "Type something")
if [ "x$result" != "x" ]
then
return 0
else
return 1
fi
}
main()
{
while true
do
if got_input "$1"
then
sleep 24h
else
xdg-open "$2"
exit 1
fi
done
}
main "$@"