Während jeder Skriptkontext alles kann , was der andere kann (da Shell-Skripte aufrufen können /usr/bin/osascript
, um ein AppleScript aufzurufen, und AppleScript den do shell script
Befehl hat), gibt es tatsächlich Kontexte, für die einer besser geeignet ist als der andere.
Beide Skriptsprachen sind "Klebesprachen" - sie können minimale Dinge selbst erledigen und stattdessen die meisten ihrer Aufgaben durch Aufrufen der Funktionen anderer Programme erledigen. Shell-Skripte verwenden Unix-Pipes, während AppleScript die tell application
Syntax verwendet.
Sie unterscheiden sich darin, dass AppleScripts direkt mit skriptfähigen Anwendungen (fast immer GUI-Anwendungen) kommunizieren, während Shell-Skripts hauptsächlich mit Befehlszeilenprogrammen (von denen einige grafische Benutzeroberflächen aufrufen können, viele jedoch nicht) kommunizieren.
Wenn es um Dateiverwaltungsaufgaben geht, können beide Ansätze funktionieren. Sie können Tell Application Finder
Dateien kopieren oder den cp
Befehl in einem Shell-Skript ausführen . Warum also übereinander verwenden? Gewiss sind einige Drehbuchautoren mit einer Sprache besser vertraut als mit der anderen und werden es daher vorziehen, dieses Tool zu verwenden. Eine bessere Überlegung ist jedoch der Benutzer des Skripts. AppleScript kann häufig über die Mac-Benutzeroberfläche aufgerufen werden: Doppelklicken auf eine AppleScript-Anwendung oder Ablegen von Dateien auf einer oder Verwenden eines AppleScript-Menüs entweder systemweit oder innerhalb eines bestimmten Programms. Programme wie Mail können so eingerichtet werden, dass bei eingehenden Nachrichten ein AppleScript ausgeführt wird, um diese zu filtern. Für Benutzer, die daran gewöhnt sind, Macs auf "Mac-artige" Weise (dh über die GUI) zu verwenden, sind AppleScripts häufig besser zugänglich.
Shell-Skripte befinden sich häufig (aber nicht immer) im Terminal. Wenn Sie bereits Terminal verwenden, ist das Ausführen eines Shell-Skripts möglicherweise bequemer als das Aufrufen eines AppleScript. Andererseits müssen viele Benutzer Befehle in ein Terminalfenster eingeben oder auf eine Skriptdatei klicken, die ein Terminalfenster öffnet, um ihre Magie zu entfalten. Ich persönlich finde die Syntax von Shell-Skripten besser lesbar als die von Apple-Skripten, aber ich vermute, dass ich in dieser Hinsicht in der Minderheit bin. Shell-Skripte sind Benutzern vieler verschiedener Unix-ähnlicher Systeme vertraut.
In jedem Fall sind beide leistungsstarke Tools, um eine bessere Kontrolle über Ihren Mac zu erlangen.