Tengo dos piezas de código. Uno es Applescript y el otro un script de shell Bash. El script de shell debe ejecutarse simultáneamente con el script de manzana, devolver algunos valores y luego salir. El problema es que el indicador read -p
de la secuencia de comandos de shell no se detiene para que el usuario ingrese información cuando se llama desde applecript usando do shell script "/path/to/script.sh"
.
Pensé que tal vez
display dialog "Query?" default answer ""
set T to text returned of result
podría reemplazar el indicador read -p
pero no puedo encontrar la manera de hacer que ambas formas funcionen. ¿Cómo puedo usar cualquiera de estos métodos para preguntar y esperar correctamente la entrada del usuario?
Me doy cuenta de que podría cortar el Applecript en dos secciones colocando una al principio de la secuencia de comandos de shell y una después del último comando de shell.
#!/bin/bash
osascript ~/Start_Script.scpt
echo 'enter some Text'
read -p "" T
## for things in stuff do more
## stuff while doing other things
## done
osascript ~/End_Script.scpt
Esto es lo que he estado haciendo y funciona. Pero requiere el uso del terminal que está bien para mí. Pero si quisiera mostrarle a alguien como mi mamá ... bueno, ella simplemente no va a abrir la aplicación Terminal. Por lo tanto, sería bueno encontrar una manera de emular el comando read -p
dentro de Applescript y poder pasar una variable al script de shell incrustado.