2 votos

La entrada del usuario asigna a la variable en AppleScript, a continuación, pasa a "hacer la secuencia de comandos de shell de comandos"

¿Cómo puedo agarrar la entrada del usuario en AppleScript y, a continuación, pasar el resultado de la variable a un do shell script comando desde dentro de AppleScript sí mismo?

Por ejemplo, el usuario podría escribir la respuesta foo el siguiente cuadro de diálogo:

display dialog "Please enter your username" default answer ""
set the userID to the text returned of the result
do shell script "rm -rf /Users/$userID/.Trash/*" with administrator privileges

Así que en este caso, si yo fuera a incorporar la respuesta de foo en lugar de $userID, se podría leer como el siguiente cuando se ejecuta el comando:

display dialog "Please enter your username" default answer ""
set the userID to the text returned of the result
do shell script "rm -rf /Users/foo/.Trash/*" with administrator privileges

¿Cómo puedo pasar esa variable agarré anterior, en este caso sería de $userID y lo incorporan en el medio de la shell script de llamadas que he hecho anteriormente.

2voto

Dan Harris Puntos 125

Esto asigna el nombre introducido en la variable answer.

display dialog "What's your name?" default answer ""
set answer to text returned of result
display dialog "Your name is " & answer

1voto

Nip Puntos 362

Usted necesidad de concatenación de cadenas ( & operador) para combinar los "fijos" de la cadena con la parte variable. Usted también debe usar el quoted form of comando para asegurarse de que todas las entradas de usuario se gestionan de forma segura (es decir, los espacios, los comodines, los caracteres de comillas y otros caracteres que la concha se trata especialmente ninguno de estos es probable que en un "nombre de usuario", pero es siempre una buena idea para manejar las cosas de forma segura):

display dialog "Please enter your username" default answer ""
set the userID to the text returned of the result
do shell script "rm -rf /Users/"& quoted form of userID & "/.Trash/*" with administrator privileges

También se puede pasar el resto de la ruta a través de la quoted form of, pero no debe incluir el comodín:

… "rm -rf " & quoted form of ("/Users/"& userID & "/.Trash/") & "*" …

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