Ho due pezzi di codice. Uno è Applescript e l'altro uno script di shell Bash. Lo script della shell deve essere eseguito contemporaneamente al applescript, restituire alcuni valori e quindi uscire. Il problema è che la richiesta di read -p
dello script di shell non viene messa in pausa per l'input dell'utente quando viene chiamata da applescript usando do shell script "/path/to/script.sh"
.
Ho pensato che forse
display dialog "Query?" default answer ""
set T to text returned of result
potrebbe sostituire il prompt read -p
ma non riesco a capire come fare in entrambi i casi il lavoro. In che modo utilizzare uno di questi metodi per chiedere e aspettare correttamente l'immissione dell'utente?
Mi rendo conto che potrei tagliare il applescript in due sezioni posizionandone uno all'inizio dello script della shell e uno dopo l'ultimo comando della 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
Questo è quello che ho fatto e funziona. Ma richiede l'uso del terminale che va bene per me. Ma se volessi mostrare qualcuno come mia mamma ... beh, non aprirà l'app del Terminale. Quindi sarebbe bello trovare un modo per emulare il comando read -p
all'interno di Applescript stesso ed essere in grado di passare una variabile lungo lo script della shell incorporata.