Mostrar resultados del comando Automator-Terminal


9

TL; DR Si creo un .app a través de Automator, ¿cómo puedo mostrar los resultados de un script de shell en un cuadro de diálogo o ventana de terminal?

Estoy usando Automator para ejecutar un script de shell

adb install /Directory/$1.apk

y si lo ejecuto a través de Automator, puedo ver los resultados (instalación exitosa o no puedo encontrar filname.apk o cualquier otra cosa que el terminal me diga). Si guardo como aplicación y hago doble clic para ejecutar, no veo estos resultados.

¿Qué puedo hacer para mostrar un cuadro de diálogo o una ventana de terminal que muestre los resultados del script que ejecuto?


Respuestas:


2

Hay un par de maneras de hacer esto:

  • Agregar una acción Solicitar confirmación después de Ejecutar Shell Script y usarla $1en el campo del mensaje .
  • Agregar otro Run Shell Script y ejecutarlo osascript -e 'tell app "System Events" to display dialog "$1"'. Tendrá que seleccionar como argumento en el menú desplegable de entrada de paso .

8
Simplemente se muestra $1con cualquiera de esos métodos.
Reed

@Jakar Lo he probado haciendo la primera acción Ejecutar Shell Scriptecho something y definitivamente funciona. ¿Quizás tu Script no está devolviendo algo?
Thecafremo

Bueno. Estoy pensando que puede tener algo que ver con adb(parte del SDK del desarrollador de Android), porque hay una salida en la Terminal después de ejecutar ese comando, pero no a través del script del automatizador.
Reed

Ligera modificación para manejar el osascript de interpolación de cadenas -e 'decirle a la aplicación "System Events" que muestre el diálogo "'" $ 1 "'"'
bingles

20

Si solo tiene unas pocas líneas de salida , desearía asignarla a una variable y luego mostrar un diálogo de confirmación que muestre la salida.

  1. Añadir acción "Establecer valor de variable"
  2. ingrese una nueva variable, por ej. output
  3. Añadir Acción "Solicitar confirmación"
  4. en el campo del mensaje, ingrese el nombre de la variable declarada anteriormente. Mientras escribe el nombre de la variable, Automator le sugerirá que complete el nombre de la variable. Acepte presionando la tecla Enter. Esto evita que Automator interprete el nombre de la variable como un mensaje de texto sin formato.

Esto se verá así: Automator con salida de texto

NB: También probé el $1enfoque, pero no tuve éxito.

Si tiene muchas líneas de salida , debe dirigir todas las salidas a un nuevo documento TextEdit. Para hacerlo, simplemente agregue la acción "Nuevo documento TextEdit" después de su acción de script.

Esto puede verse así: Nueva acción de editar texto del documento

Sugerencia: los mensajes de diagnóstico a menudo se envían al error estándar. Para recopilar también el envío de texto al error estándar, agregue exec 2>&1en la parte superior de su script bash.


1
wow exactamente lo que necesitaba!
code4j

1
esta solución funcionó para mí, mientras que la versión aceptada no lo hizo
Ilias Karim

Esto fue realmente útil para mí y explicó por qué no podía obtener el valor de la salida. gran trabajo
CommentLuv

¿Se puede modificar esto para abrir un documento de Text Mate ?
Greg

1

Necesita usar "Establecer valor de variable"

ingrese la descripción de la imagen aquí


La tentación de downvote porque esto es sólo un duplicado de la respuesta de Daniel K, excepto con menos información ...
adfaklsdjf
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.