Cómo convertir scripts de Bash en aplicaciones clicables con AppleScript
Anuncio
Digamos que eres un mago de scripting bash que adora automatizar tareas para tus amigos y familiares menos expertos en tecnología. Aunque les haya dado una secuencia de comandos que solucione por completo su problema, podrían estar ansiosos por usar la Terminal por su cuenta. En este caso, también podría hacerlo todo por ellos manualmente.
Afortunadamente, AppleScript es un lenguaje fácil de usar que puede tomar fácilmente sus scripts y convertirlos en algo compartible y amigable con la GUI.
Comenzando con AppleScript
AppleScript es un lenguaje de programación antiguo que se remonta a Mac OS 7. Fue diseñado como un lenguaje fácil y legible por los estándares de los usuarios en la década de 1980. Su objetivo principal es interactuar con Finder para automatizar los flujos de trabajo.
Puede usarlo para tomar un flujo de trabajo complejo, como un script bash o la modificación de un archivo de preferencias, y simplificarlo a nada más que hacer clic en un botón. También puede tomar la entrada en forma de archivos que arrastra y suelta encima.
Nota: Comience con nuestra guía introductoria de sintaxis y flujo de trabajo AppleScript ¿Qué es AppleScript? Escribir su primer script de automatización de Mac ¿Qué es AppleScript? Escribir su primer script de automatización de Mac AppleScript puede ayudarlo a automatizar tareas repetitivas en su Mac. Aquí hay una descripción general y cómo escribir su primer script AppleScript. Lee mas .
La herramienta Editor de scripts en su carpeta Utilidades es un editor de texto AppleScript e IDE que lo ayudará a escribir un AppleScript funcional. Su elemento de la barra del menú Ayuda es un recurso invaluable. Úselo para cargar la Guía del lenguaje AppleScript.
También puede ir a Ventana> Biblioteca para obtener una lista de todos los comandos posibles de AppleScript.
Haga que sus scripts de Bash sean clicables con AppleScript
Bash puede ayudarte a interactuar con tu Mac de una manera quirúrgica e hiperespecífica. Es posible escribir casi cualquier cosa que desee hacer en su máquina.
Normalmente, si desea ejecutar un script bash, debe asegurarse de que tenga permisos ejecutables. Luego debe abrir Terminal, navegar a la ruta del script y presionar Volver para ejecutarlo. Con AppleScript, sin embargo, puede ejecutar sus scripts de bash con un doble clic rápido.
El comando "do shell script"
Agregar su script bash a AppleScript es un proceso simple. Primero, vaya a Aplicaciones> Utilidades> Editor de secuencias de comandos para abrir un nuevo AppleScript. Luego, elija una ubicación para el guión terminado y presione Nuevo documento . Verás una ventana de editor en blanco.
Prepare un script bash usando su editor de texto macOS favorito, o hágalo bien en el Editor de Script. Cuando esté listo, agréguelo usando el comando do shell script
. Puede enviar un comando usando:
do shell script "Command"
Agregue un punto y coma (;) para enviar múltiples comandos, como en:
do shell script "Command1; Command 2"
Para referirse a un script bash existente que esté en otro lugar, simplemente use:
do shell script "/path/to/your/script.sh"
Si desea ejecutar un comando que requiere privilegios de administrador, puede configurarlos primero en AppleScript, de esta manera:
do shell script "command" user name "USER" password "PASSWORD" with administrator privileges
Presione el botón Reproducir para ejecutar su AppleScript y verifique si hay errores de sintaxis. Finalmente, guarde su AppleScript; bajo Formato de archivo, elija Aplicación . Esto le permitirá hacer doble clic para ejecutarlo.
Invertirlo en Bash
Como nota al margen, ¿qué pasa si desea hacer lo contrario y agregar comandos de AppleScript a su script bash? ¡Bueno, tú también puedes hacer eso!
En sus secuencias de comandos bash, puede agregar un comando osascript
, seguido de su AppleScript, para agregar elementos divertidos como la entrada del usuario o pancartas de alerta.
Usar gotas de AppleScript
Supongamos que tiene un montón de imágenes que necesita cambiar de tamaño para prepararse para su blog, o si desea ordenar todos sus archivos por tipo. Puede escribir scripts para realizar estas acciones, pero un script bash tradicional requiere que escriba la ruta completa de cada archivo que desee manipular cada vez que quiera hacerlo. Eso puede volverse tedioso al hacer un gran lote de archivos.
Afortunadamente, puede configurar un AppleScript que solo requiera que arrastre su archivo de destino encima para ejecutarlo como entrada. Estos AppleScripts especiales se denominan Droplets . Aquí se explica cómo crear uno:
- Abra un nuevo AppleScript con Script Editor.
- Inicie el AppleScript con el controlador
on open dropped_file
. Puede llamar al archivo drop_file lo que quiera. AppleScript lo usará como una variable que se asigna al archivo que dejó caer. - Termine el resto de su secuencia de comandos, utilizando la
do shell script
o la sintaxis regular AppleScript. Asegúrese de cerrar su script con elend open
para cerrar el controlador. - Guarde su AppleScript como una aplicación, como se explicó anteriormente.
Ahora puede arrastrar y soltar archivos directamente en sus scripts.
Un ejemplo de script AppleScript
El siguiente ejemplo muestra estas dos prácticas funciones en acción.
Cambiar los permisos de cualquier archivo arrastrado y soltado
Supongamos que desea entregar un archivo, secuencia de comandos o documento a un amigo y quiere asegurarse de que no puedan meterse con él. Con este script, puede quitar fácilmente los permisos de escritura de cualquier archivo para darles una versión de solo lectura.
Tenga en cuenta que cuando suelta un archivo encima de un Droplet, AppleScript lee su nombre de ruta en formato HFS (Sistema de archivos jerárquico). Esto utiliza dos puntos y no escapa espacios, por lo que un archivo en su escritorio se lee como:
Macintosh HD:Users:jdoe:Desktop:myfile
Bash usa un estándar de ruta diferente llamado POSIX, por lo que el mismo archivo en bash se lee como Macintosh\ HD/Users/jdoe/Desktop/myfile
. El siguiente script convierte el nombre del archivo al estándar de ruta apropiado antes de cambiar los permisos en él:
on open dropped_file set bash_path_file to the POSIX path of dropped_file do shell script "chmod -R -w " & quoted form of bash_path_file end open
Use Automator para una mayor automatización de Mac
Ahora que tiene la picazón de la automatización, rasque al sumergirse en Automator en su Mac Aprenda a usar Mac Automator con 6 prácticos flujos de trabajo de ejemplo Aprenda a usar Mac Automator con 6 prácticos flujos de trabajo de ejemplo Todo lo que necesita es un poco de paciencia y creatividad. para comenzar a automatizar su Mac: no necesita conocer una sola línea de código. Lee mas . Automator y AppleScript tienen muchas similitudes. Si recién está comenzando en el mundo de las secuencias de comandos y la automatización, puede encontrar que Automator es una puerta de enlace más fácil. En lugar de un lenguaje de programación legible, Automator utiliza burbujas intuitivas de arrastrar y soltar y una interfaz fácil de aprender para simplificar sus tareas cotidianas.
Explore más sobre: Applescript, Computer Automation, Mac Tricks, Scripting, Task Automation.