Come trasformare gli script Bash in app cliccabili usando AppleScript
Annuncio pubblicitario
Supponiamo che tu sia un mago di scripting bash che adora automatizzare le attività per i tuoi amici e familiari meno esperti di tecnologia. Anche se hai fornito loro uno script che risolve completamente il loro problema, potrebbero essere comunque ansiosi di usare il Terminale da soli. In questo caso, potresti anche fare tutto per loro manualmente.
Fortunatamente, AppleScript è un linguaggio intuitivo che può facilmente prendere i tuoi script e trasformarli in qualcosa sia condivisibile che intuitivo con la GUI.
Introduzione a AppleScript
AppleScript è un linguaggio di programmazione secolare che risale a Mac OS 7. È stato progettato come un linguaggio facile e leggibile dagli standard degli utenti negli anni '80. Il suo scopo principale è interagire con Finder per automatizzare i flussi di lavoro.
Puoi usarlo per eseguire un flusso di lavoro complesso, come uno script bash o la modifica di un file delle preferenze, e semplificarlo a nient'altro che il clic di un pulsante. Puoi anche prendere input sotto forma di file che trascini e rilascia su di esso.
Nota: inizia con la nostra guida introduttiva alla sintassi e al flusso di lavoro di AppleScript Che cos'è AppleScript? Scrivere il tuo primo script di automazione per Mac Cos'è AppleScript? Scrivere il tuo primo script di automazione per Mac AppleScript può aiutarti ad automatizzare le attività ripetitive sul tuo Mac. Ecco una panoramica e come scrivere il tuo primo script AppleScript. Leggi di più .
Lo strumento Editor di script nella cartella Utilità è un editor di testo e IDE AppleScript che ti aiuterà a scrivere un AppleScript funzionale. La voce della barra dei menu della Guida è una risorsa inestimabile. Usalo per caricare la Guida linguistica di AppleScript.
Puoi anche andare su Finestra> Libreria per ottenere un elenco di tutti i possibili comandi AppleScript.
Rendi cliccabili i tuoi script Bash con AppleScript
Bash può aiutarti a interagire con il tuo Mac in modo chirurgico e iper-specifico. È possibile eseguire lo script di quasi tutto ciò che si desidera fare sulla propria macchina.
Normalmente, se si desidera eseguire uno script bash, è necessario assicurarsi che disponga delle autorizzazioni eseguibili. Quindi è necessario aprire Terminale, accedere al percorso dello script e premere Invio per eseguirlo. Con AppleScript, tuttavia, è possibile eseguire gli script bash con un doppio clic rapido.
Il comando "do shell script"
Aggiungere il tuo script bash ad AppleScript è un processo semplice. Innanzitutto, vai su Applicazioni> Utilità> Script Editor per aprire un nuovo AppleScript. Quindi, scegli una posizione per lo script finito e premi Nuovo documento . Vedrai una finestra di editor vuota.
Prepara uno script bash usando il tuo editor di testo macOS preferito o eseguilo direttamente in Script Editor. Quando sei pronto, aggiungilo usando il comando do shell script
. Puoi inviare un comando usando:
do shell script "Command"
Aggiungi un punto e virgola (;) per inviare più comandi, come in:
do shell script "Command1; Command 2"
Per fare riferimento a uno script bash esistente che si trova altrove, utilizzare semplicemente:
do shell script "/path/to/your/script.sh"
Se vuoi eseguire un comando che richiede i privilegi di amministratore, puoi prima impostarli in AppleScript, in questo modo:
do shell script "command" user name "USER" password "PASSWORD" with administrator privileges
Premi il pulsante Riproduci per eseguire AppleScript e verificalo per errori di sintassi. Infine, salva il tuo AppleScript; in Formato file, selezionare Applicazione . Ciò ti consentirà di fare doppio clic per eseguirlo.
Inverti in Bash
Come nota a margine, e se volessi fare il contrario e aggiungere comandi AppleScript al tuo script bash? Bene, puoi farlo anche tu!
Nei tuoi script bash, puoi aggiungere un comando osascript
, seguito da AppleScript, per aggiungere elementi divertenti come input dell'utente o banner di avviso.
Utilizzo delle goccioline AppleScript
Supponi di avere un sacco di immagini che devi ridimensionare per essere pronto per il tuo blog o vuoi ordinare tutti i tuoi file per tipo. Puoi scrivere script per compiere queste azioni, ma uno script bash tradizionale richiede di scrivere il percorso completo di ogni file che vuoi manipolare ogni volta che lo desideri. Ciò può diventare noioso quando si esegue un grosso batch di file.
Fortunatamente, puoi impostare un AppleScript che richiede solo di trascinare il file di destinazione sopra di esso per eseguirlo come input. Questi script Apple speciali vengono definiti Droplet . Ecco come crearne uno:
- Apri un nuovo AppleScript con Script Editor.
- Avviare AppleScript con il gestore
on open dropped_file
. Puoi chiamare il file_grosso come preferisci. AppleScript lo userà come una variabile assegnata al file che hai lasciato cadere. - Termina il resto dello script, usando
do shell script
o la sintassi AppleScript normale. Assicurati di chiudere lo script conend open
per chiudere il gestore. - Salva il tuo AppleScript come un'applicazione, come spiegato sopra.
Ora puoi trascinare e rilasciare i file direttamente sui tuoi script.
Un esempio di script AppleScript
L'esempio seguente mostra entrambe queste utili funzioni in azione.
Modifica le autorizzazioni di qualsiasi file trascinato
Supponiamo che tu voglia dare un file, uno script o un documento a un amico e vuoi assicurarti che non ci riescano. Usando questo script, puoi facilmente togliere le autorizzazioni di scrittura di qualsiasi file per dargli una versione di sola lettura.
Tenere presente che quando si rilascia un file sopra un Droplet, il nome del suo percorso viene letto da AppleScript in formato HFS (Hierarchical File System). Questo utilizza due punti e non sfugge agli spazi, quindi un file sul desktop recita come:
Macintosh HD:Users:jdoe:Desktop:myfile
Bash utilizza uno standard di percorso diverso chiamato POSIX, quindi lo stesso file in bash viene letto come Macintosh\ HD/Users/jdoe/Desktop/myfile
. Lo script seguente converte il nome del file nello standard di percorso appropriato prima di modificare le autorizzazioni su di esso:
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
Usa Automator per una maggiore automazione del Mac
Ora che hai il prurito dell'automazione, grattalo immergendoti in Automator sul tuo Mac Impara a usare Mac Automator con 6 pratici flussi di lavoro di esempio Impara a usare Mac Automator con 6 pratici esempi di flussi di lavoro Un po 'di pazienza e creatività sono tutto ciò di cui hai bisogno per iniziare ad automatizzare il tuo Mac - non è necessario conoscere un'unica riga di codice. Leggi di più . Automator e AppleScript hanno molte somiglianze. Se hai appena iniziato nel mondo dello scripting e dell'automazione, potresti trovare Automator un gateway più semplice. Invece di un linguaggio di programmazione leggibile, Automator utilizza bolle di trascinamento della selezione intuitive e un'interfaccia di facile apprendimento per semplificare le attività banali.
Ulteriori informazioni su: Applescript, Computer Automation, Mac Tricks, Scripting, Task Automation.