Puede indicar un proceso en segundo plano como SystemUIServer para mostrar el cuadro de diálogo. La ventana enfocada previamente no vuelve a enfocarse después de que el diálogo está cerrado por defecto. System Events y AppleScript Runner pueden tener pequeñas demoras si no se ejecutaban antes.
answer=$(osascript -e 'try
tell application "SystemUIServer"
set answer to text returned of (display dialog "" default answer "")
end
activate app (path to frontmost application as text)
answer
end' | tr '\r' '\n')
[[ -z "$answer" ]] && exit
También podría indicarle a la aplicación más adelantada que muestre un cuadro de diálogo, pero a menudo es un poco más lenta. El cuadro de diálogo no se muestra inmediatamente si la aplicación no responde. Si MPlayer OS X está en primer plano, los cuadros de diálogo de texto no aceptan ninguna entrada de teclado.
answer=$(osascript -e 'try
tell application (path to frontmost application as text)
text returned of display dialog "" default answer ""
end
end' | tr '\r' '\n')
[[ -z "$answer" ]] && exit