1 votos

Cómo incluir variables en el texto mostrado en un diálogo de visualización osascript

screenshot of the display dialog

Estoy creando un script chulo para que me moleste pidiendo cerrar la app con el nombre de la variable después de los minutos especificados. El osascript display dialog es cada vez más compleja. Ahora ya funciona gracias a la ayuda recibida aqui .

Pero no estoy siendo capaz de obtener la variable PROCESS_NAME correctamente:

PROCESS_NAME="Telegram" 
DIALOG_RESULTS="$(osascript -e 'set {T,B} to {text returned, button returned} of (display dialog "Minutes to remember to close $((PROCESS_NAME))" default answer "1" with icon caution buttons {"Keep Open", "CLOSE APP & take a break"} default button 1)' -e 'return T & "\t" & B')" &&MINUTES_UNTIL_ASK_TO_CLOSE="$(echo "$DIALOG_RESULTS" |cut -f 1)" &&BUTTON_RETURNED="$(echo "$DIALOG_RESULTS" |cut -f 2)"

El resultado actual (erróneo) es éste:

Minutos que hay que recordar para cerrar $((NOMBRE_PROCESO))

La salida deseada (correcta) debería ser:

Minutos que hay que recordar para cerrar Telegrama

0voto

David Anderson Puntos 2189

Sustituir $((PROCESS_NAME)) con '"$PROCESS_NAME"' .

Explicación:

Este cambio da lugar a las tres cadenas siguientes, que son adyacentes entre sí:

'set {T,B} to {text returned, button returned} of (display dialog "Minutes to remember to close '
"$PROCESS_NAME"
'" default answer "1" with icon caution buttons {"Keep Open", "CLOSE APP & take a break"} default button 1)'

La segunda cadena "$PROCESS_NAME" contiene una variable que, cuando se sustituye por el contenido de la variable, se convierte en "Telegram" . Dado que las tres cadenas son adyacentes (no hay otros caracteres entre ellas), las cadenas pueden concentrarse para formar la cadena única que se indica a continuación.

'set {T,B} to {text returned, button returned} of (display dialog "Minutes to remember to close Telegram" default answer "1" with icon caution buttons {"Keep Open", "CLOSE APP & take a break"} default button 1)'

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X