Mentre entrambi i contesti di scripting possono fare qualsiasi cosa l'altro (poiché gli script di shell possono chiamare /usr/bin/osascript
per invocare un AppleScript e AppleScript ha il do shell script
comando), ci sono davvero contesti per i quali uno è più adatto dell'altro.
Entrambi i linguaggi di scripting sono linguaggi "collanti": possono fare autonomamente cose minime e invece svolgono la maggior parte dei loro compiti invocando le capacità di altri programmi. Gli script Shell fanno uso di pipe Unix, mentre AppleScript ha la tell application
sintassi.
Il punto in cui divergono è che gli script Apple comunicano direttamente con le applicazioni di script (quasi sempre applicazioni GUI), mentre gli script di shell comunicano principalmente con i programmi della riga di comando (alcuni dei quali possono invocare interfacce utente grafiche, ma molti non lo fanno).
Quando si tratta di attività di gestione dei file, entrambi gli approcci possono funzionare. È possibile Tell Application Finder
copiare file o eseguire il cp
comando in uno script di shell. Quindi perché usarne uno sopra l'altro? Certamente alcuni sceneggiatori hanno più familiarità con una lingua rispetto all'altra, e quindi preferiranno usare questo strumento. Ma una migliore considerazione è dell'utente dello script. AppleScript può spesso essere richiamato dalla GUI del Mac: facendo doppio clic su un'applicazione AppleScript o rilasciando i file su una o utilizzando un menu AppleScript a livello di sistema o all'interno di un determinato programma. Programmi come Mail possono essere impostati per eseguire un AppleScript sui messaggi in arrivo per filtrarli. Per gli utenti abituati a utilizzare i Mac in un modo "simile a un Mac" (cioè dalla GUI), gli AppleScript sono spesso più accessibili.
Gli script Shell spesso (ma non sempre) vivono nel Terminale. Se uno sta già utilizzando Terminal, eseguire uno script shell può essere più conveniente che invocare un AppleScript. D'altra parte, molti utenti sono scoraggiati dal fatto di dover digitare i comandi in una finestra di Terminale o persino di fare clic su un file di script che apre una finestra di Terminale per fare la sua magia. Personalmente trovo che la sintassi degli script della shell sia più leggibile di quella degli script Apple, ma sospetto di essere in minoranza su quello. Gli script Shell sono familiari agli utenti di molti sistemi simili a Unix.
In ogni caso, entrambi sono potenti strumenti per ottenere un migliore controllo sul tuo Mac.