2 votos

El flujo de trabajo de Automator sólo funciona al hacer clic en "paso".

Estoy intentando escribir un flujo de trabajo que utilice Shell para aplicar SHA256 a las celdas de una hoja de cálculo de Excel.

El flujo de trabajo (que puede ser un poco de un hack) está trabajando, pero sólo cuando hago clic a través de él utilizando "Paso" - si trato de ejecutarlo o bucle, la salida no es el hash SHA256 pero la entrada original.

¿Alguna idea? Ya que esto parece realmente extraño.

EDIT: Gracias a @Graham Miln finalmente conseguí que esto funcionara solo en AppleScript sin Automator.

enter image description here

enter image description here

1 votos

¿Puedes arreglar tus capturas de pantalla? El enlace a Dropbox no funciona, es mejor subirlas a AD directamente (lo que puedes hacer desde el diálogo "añadir imagen").

0voto

Steve Evans Puntos 155

El comportamiento que describes sugiere un problema de sincronización. Uno o más pasos no se están completando antes de que comience el siguiente paso.

Considere la posibilidad de combinar todos los pasos en un único AppleScript. Puede utilizar la función do shell script en AppleScript para llamar a shasum :

-- Get value to hash from clipboard
set myValue to the clipboard

-- Build the command to execute
set hashCommand to "echo -n " & quoted form of (myValue) & " | shasum -a 256"

-- Debug check the command; comment out when it looks good
display dialog hashCommand

-- Execute command and place on clipboard
set myHash to do shell script hashCommand
set the clipboard to myHash

El el portapapeles es accesible por AppleScript :

display dialog (the clipboard)

Como un único AppleScript, puede depurar utilizando Aplicaciones > Utilidades > Editor de scripts y obtener una visión mucho mejor de lo que está ocurriendo mientras se ejecuta el script.

0 votos

Eso es muy útil, gracias. Ahora lo he reducido al aspecto mucho más simple display dialog (the clipboard) set myValue to (the clipboard) set myHash to do shell script "echo -n " & quoted form of myValue & " | shasum -a 256 | pbcopy" display dialog (the clipboard) Pero algo falla en la forma en que se pasa el valor al Shell script porque el valor del portapapeles de salida no es el hash correcto... (es a hash, sin embargo)

0 votos

El | pbcopy no es necesaria la tubería. do shell script es devolver el resultado de shasum en myHash . Utiliza algo como set the clipboard to myHash después de crear el hash.

0 votos

El AppleScript de la respuesta se ha ampliado con comentarios e interacciones con el portapapeles.

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