Cada vez que quiero ejecutar un manuscrito, aparece el editor.
¿Hay alguna forma de ejecutarlo directamente?
La forma en que se guarda la secuencia de comandos tiene un gran efecto sobre cómo funcionará en Mac OS X. Parece que la secuencia de comandos se guarda como una secuencia de comandos y eso es lo que hace que el editor de secuencias de comandos se abra cada vez que abre la secuencia de comandos.
Para resolver el problema, abra el script en el editor de AppleScript y guárdelo como una aplicación. Eso debería ser el truco.
Los pasos son (en el editor)
Archivo> Guardar como> luego configure Formato de archivo en la aplicación y luego guarde.
Al guardar la secuencia de comandos, puede elegir "Aplicación" en el menú desplegable Formato de archivo; luego podrá ejecutarlo y aún podrá arrastrarlo al Editor de secuencias de comandos para abrir la secuencia de comandos; o puede elegir Ejecutar solo para que no guarde la versión editable.
Alternativamente, puede usar el comando osascript
en Terminal, ya sea como osascript /path/to/script
o osascript -e "a short script here"
.
También puede colocar el script en su carpeta ~/Library/Scripts/Finder/y ejecutarlo directamente desde el menú Script.
Otra forma es crear un servicio en Automator que use el comando osascript
para ejecutar un .scpt en Finder.
(No estoy usando Automator en inglés, por lo que es posible que la redacción no sea precisa)
En el cuadro Ejecutar AppleScript, ingrese el siguiente código:
on run {input, parameters}
tell application "Finder"
--get the selected file
set selectedItem to (item 1 of (get selection))
--get location info (folder:file format)
set fileLocation to (selectedItem as alias) as string
--replace : with / with subroutine
set the semifinal to my replace_chars(fileLocation, ":", "/")
--remove Macintosh HD with subroutine
set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
end tell
do Shell script "osascript " & "\"" & theFinal & "\""
return input
end run
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
Archivo> Guardar y asígnele un nombre como "Ejecutar AppleScript"
Ahora puede hacer clic derecho en un archivo .scpt en Finder y seleccionar "Ejecutar AppleScript" y ver su secuencia de comandos ejecutada.
Referencia: Fuente de subrutina - AppleScript: Subrutinas esenciales