world hello examples applescript

hello - applescript examples



Imprimir a Stdout con Applecript (2)

Al ejecutar AppleScript con #!/usr/bin/osascript , puede devolver la salida de texto que desee con una declaración de retorno al final de su script.

Estoy tratando de ejecutar un script AppleScript desde la terminal, sin embargo no puedo imprimirlo llamando

osascript myFile.scpt "/path/to/a/file"

Lo estoy intentando:

on run fileName set unique_songs to paragraphs of (read POSIX file fileName) repeat with nextLine in unique_songs if length of nextLine is greater than 0 then set AppleScript''s text item delimiters to tab set song to text item 2 of nextLine set artist to text item 3 of nextLine set album to text item 4 of nextLine set output to ("Song: " & song & " - " & artist & " - " & album) copy output to stdout end if end repeat end run

El archivo delimitado por pestañas tiene un formato similar al siguiente:

1282622675 Beneath the Balcony Iron & Wine The Sea & the Rhythm 1282622410 There Goes the Fear Doves (500) Days of Summer 1282622204 Go to Sleep. (Little Man Being Erased.) Radiohead Hail to the Thief

Las pestañas no se muestran realmente bien en esto :(


No está muy claro CÓMO intenta ejecutarlo en Termanil. Pero supondré que ha guardado un archivo de texto de AppleScript con el #! / Usr / bin / osascript, para que se pueda ejecutar el archivo.

Luego llamó al archivo en la Terminal. simplemente usando la ruta al archivo.

Actualizado: usar eco

#!/usr/bin/osascript #Here be the rest of your code ... set output to ("Song: " & song & " - " & artist & " - " & album) do shell script "echo " & quoted form of output end tell

Actualización 2, en respuesta a los comentarios.

Si tengo una pestaña de archivo de texto delimitado con el contenido como:

track Skin Deep Beady Belle Closer

Las pestañas se establecen como: pista * TAB Piel Profunda TAB Beady Belle TAB * Más cerca

Y el archivo de script como:

on run fileName set unique_songs to paragraphs of (read POSIX file fileName) repeat with nextLine in unique_songs if length of nextLine is greater than 0 then set AppleScript''s text item delimiters to tab set song to text item 2 of nextLine set artist to text item 3 of nextLine set album to text item 4 of nextLine set output to ("Song: " & song & " - " & artist & " - " & album) do shell script "echo " & quoted form of output end if end repeat end run

El terminal de ejecución:

/usr/bin/osascript ~/Documents/testOsa2.scpt ~/Documents/testTab.txt

Vuelvo: Canción: Skin Deep - Beady Belle - Closer