Chociaż oba konteksty skryptowe mogą zrobić wszystko, co inne (ponieważ skrypty powłoki mogą wywoływać w /usr/bin/osascript
celu wywołania AppleScript, a AppleScript ma do shell script
polecenie), istnieją jednak konteksty, dla których jeden jest bardziej odpowiedni niż drugi.
Oba języki skryptowe są językami „kleju” - potrafią same robić minimalne czynności i zamiast tego realizują większość swoich zadań, przywołując możliwości innych programów. Skrypty powłoki używają potoków uniksowych, a AppleScript ma tell application
składnię.
Różnią się tym, że skrypty AppleScript komunikują się bezpośrednio z aplikacjami skryptowymi (prawie zawsze aplikacjami GUI), podczas gdy skrypty powłoki komunikują się przede wszystkim z programami wiersza poleceń (niektóre z nich mogą wywoływać graficzne interfejsy użytkownika, ale wiele nie.
Jeśli chodzi o zadania zarządzania plikami, oba podejścia mogą działać. Można Tell Application Finder
skopiować pliki lub uruchomić cp
polecenie w skrypcie powłoki. Po co więc stosować jeden na drugim? Z pewnością niektórzy pisarze skryptów lepiej znają jeden język niż drugi i dlatego wolą korzystać z tego narzędzia. Ale lepiej wziąć pod uwagę użytkownika skryptu. AppleScript często można wywoływać z graficznego interfejsu użytkownika Maca: dwukrotne kliknięcie aplikacji AppleScript, upuszczenie plików na jeden lub użycie menu AppleScript w całym systemie lub w określonym programie. Programy takie jak Mail można skonfigurować tak, aby uruchamiały AppleScript na przychodzących wiadomościach w celu ich filtrowania. Dla użytkowników przyzwyczajonych do korzystania z komputerów Mac w sposób podobny do komputera Mac (tj. Z GUI), skrypty AppleScript są często bardziej dostępne.
Skrypty powłoki często (ale nie zawsze) znajdują się w terminalu. Jeśli ktoś już korzysta z terminalu, uruchomienie skryptu powłoki może być wygodniejsze niż wywołanie AppleScript. Z drugiej strony wielu użytkowników jest zniechęconych koniecznością wpisywania poleceń w oknie terminala lub nawet kliknięciem pliku skryptu, który otwiera okno terminala, aby wykonać swoją magię. Osobiście uważam, że składnia skryptów powłoki jest bardziej czytelna niż w skryptach AppleScript, ale podejrzewam, że jestem w tej mniejszości. Skrypty powłoki są znane użytkownikom wielu różnych systemów uniksowych.
W każdym razie oba są potężnymi narzędziami do uzyskania lepszej kontroli nad komputerem Mac.