#bash #button #scripting #osascript
#bash #кнопка #сценарии #osascript
Вопрос:
У меня есть диалоговое окно с двумя кнопками: «OK» и «Отмена», я бы хотел, чтобы кнопка «OK» запускала веб-сайт, а кнопка «Отмена» останавливала скрипт. Прямо сейчас кнопки «OK» и «Отмена» запускают веб-сайт. Чего мне здесь не хватает?
osascript -e 'tell app "System Events" to display dialog "Things are broke r rPress OK to launch Google" buttons {"Cancel", "OK"}'
if [ "button returned:OK" ]; then
open "http://www.google.com"
else
exit 0
fi
Комментарии:
1. я думаю
if..else
такif [[ $* = *"button returned:OK"* ]]
…?
Ответ №1:
Есть несколько вариантов. Первое, может быть, проще:
osascript -e 'tell app "System Events" to display dialog "Things are broke r rPress OK to launch Google" buttons {"Cancel", "OK"}' >/dev/null 2>amp;1
if [ $? -eq 0 ]; then open "http://www.google.com"; else exit 0; fi
Или захватить и проанализировать вывод osascript
, подобный этому:
res=$(osascript -e 'tell app "System Events" to display dialog "Things are broke r rPress OK to launch Google" buttons {"Cancel", "OK"}' 2>/dev/null)
Затем вы можете проверить это следующим образом:
if [[ $res == *OK* ]]; then
echo OK
fi