Также стоит учесть, что вы можете выполнить проверку, которая определяет, какая кнопка была нажата в части кода AppleScript, что в некотором смысле имеет больше смысла, так как вы можете открыть Системные настройки с этим тоже:
#!/usr/bin/env bash
osascript << OSA 2>/dev/null && exit 0 || echo "Change Later was chosen"
display dialog "Change password now or later?" buttons ¬
{"Change Later", "Change Now"} default button 1 ¬
with title "Password Update Required" with icon caution
if the button returned of the result ¬
is "Change Later" then error
tell application id "com.apple.SystemPreferences"
reveal pane id "com.apple.preferences.users"
repeat until the id of the current pane is ¬
"com.apple.preferences.users"
delay 0.5
end repeat
activate
end tell
OSA
Здесь, вместо сохранения результата сценария в переменную, состояние выхода osascript
отражает выбор пользователя: «Изменить позже» завершается osascript
с ошибка, возвращающая статус выхода 1
; «Изменить сейчас» позволяет сценарию продвигаться вперед и открывает Системные настройки на панели Users & Groups
перед возвратом состояния выхода 0
.