Wie man Terminalbefehle aus einem Skript unter macOS ausführt

Um Terminalbefehle aus einem Skript unter macOS auszuführen, fügen Sie diese in ein einfaches Shell-Skript ein, machen Sie es ausführbar und starten Sie es anschließend über den Finder oder das Terminal. Verwenden Sie eine .commandErweiterung, um es per Doppelklick zu öffnen. Ein Skript umgeht weder die Datenschutzbestimmungen von macOS noch gewährt es Administratorrechte.

Ein einfaches Texteditorfenster, das ein zsh-Shebang und einen echo-Befehl in MyScript.command anzeigt.
Ein kurzes Shell-Skript beginnt mit einem Shebang, der zsh auswählt.

1. Schreiben Sie die Befehle in eine einfache Textdatei.

Ein Shell-Skript ist eine Textdatei mit Befehlen. Es beginnt mit einem Shebang , der ersten Zeile, die macOS mitteilt, welche Shell die Datei ausführen soll. Die aktuelle Standard-Shell für neue Terminalfenster ist zsh, obwohl ein Administrator eine andere Standard-Shell festlegen kann, wie Apple in seiner Terminal-Anleitung erklärt . Dieses Beispiel verwendet explizit zsh:

#!/bin/zsh
# Print a message when the script runs
echo "Script is running"

Befehle werden unterhalb des Shebangs in separate Zeilen gesetzt. Der Shebang bestimmt den Interpreter, daher muss die von ihm unterstützte Syntax verwendet werden; ein Bash-Skript kann beispielsweise mit `<Bash Script>` beginnen #!/bin/bash. Die Grundlagen werden in Apples Shell-Skript-Leitfaden erläutert.

Sie können TextEdit verwenden, aber stellen Sie sicher, dass die Datei reiner Text ist: Neue TextEdit-Dokumente können Rich-Text sein. Wählen Sie „Format“ > „In reinen Text umwandeln“ oder stellen Sie das Format für neue TextEdit-Dokumente in den Einstellungen auf „Reiner Text“ ein. Rich-Text-Formatierung ist kein Shell-Code. Apple beschreibt diese Optionen in seinem TextEdit-Handbuch . Ein Code-Editor oder ein Befehlszeilen-Editor wie beispielsweise Apple nanofunktioniert ebenfalls.

Ein macOS-Speicherdialog, in dem MyScript.command als Klartextdatei auf dem Desktop ausgewählt ist.
Speichern Sie das Skript mit der Dateiendung .command an einem Ort, den Sie leicht wiederfinden.

2. Speichern Sie es mit einer .commandErweiterung.

Speichern Sie die Textdatei unter einem aussagekräftigen Namen, z. B. „.txt“ MyScript.command. Die Dateiendung sorgt dafür, dass der Finder das Skript im Terminal öffnet, wenn Sie darauf doppelklicken. Apples archivierte Entwicklerdokumentation beschreibt diesen Doppelklick-Workflow für Shell-Skripte. Überprüfen Sie den Dateinamen im Finder: Endet er auf „.txt“ .command.txt, benennen Sie ihn um, sodass die Dateiendung nur noch „.txt“ lautet .command. Speichern Sie die Beispieldatei während der Einrichtung an einem Ort wie Ihrem Schreibtisch.

Wenn macOS fragt, welche Erweiterung verwendet werden soll, behalten Sie diese .commandund vergewissern Sie sich, dass Finder sie nicht hinzugefügt hat .txt.

3. Machen Sie das Skript ausführbar.

Öffnen Sie das Terminal und erteilen Sie Ihrem Benutzerkonto die Berechtigung, die Datei auszuführen. Geben Sie für das auf dem Desktop gespeicherte Beispiel Folgendes ein:

chmod u+x "$HOME/Desktop/MyScript.command"

Drücken Sie die Eingabetaste. u+xDadurch wird dem Besitzer die Ausführungsberechtigung erteilt; Anführungszeichen schützen Pfade mit Leerzeichen. Ersetzen Sie den Beispielpfad bei Bedarf. Ziehen Sie die Datei in das Terminal oder verwenden Sie das Finder-Menü (Option-Klick), um den Pfadnamen zu kopieren. Apple beschreibt dieselbe Methode in seinen Anweisungen für ausführbare Dateien .

Ein Terminalfenster zeigt an, dass der Befehl chmod u+x auf die Datei MyScript.command auf dem Desktop angewendet wurde.
Der Befehl chmod fügt dem Dateibesitzer die Ausführungsberechtigung hinzu.

4. Führen Sie das Skript aus.

Doppelklicken Sie MyScript.commandim Finder darauf, um es im Terminal auszuführen. Ausgaben und Fehler werden dort angezeigt. Alternativ können Sie den vollständigen Pfad eingeben:

"$HOME/Desktop/MyScript.command"

Oder wechseln Sie zuerst in den Ordner und stellen Sie dem Dateinamen dann ein : voran ./.

cd "$HOME/Desktop"
./MyScript.command

Dieser ./Befehl weist die Shell an, eine Datei im aktuellen Ordner auszuführen. Apples Terminal-Befehlsübersicht erklärt, wie man eine ausführbare Datei anhand ihres Pfadnamens startet.

Ein Terminalfenster, in dem MyScript.command ausgeführt wird und die Ausgabe "Skript wird ausgeführt" angezeigt wird.
Starten Sie die Datei über ihren Pfad und überprüfen Sie die Ausgabe im Terminal.

Häufige Fehler beheben

  • „Zugriff verweigert“: Überprüfen Sie, ob Sie chmod u+xdie richtige Datei ausgewählt haben. Wiederholen Sie den Befehl gegebenenfalls mit dem genauen Dateipfad. Das Ausführbarmachen einer Datei autorisiert nicht automatisch alle darin enthaltenen Befehle.
  • „Datei oder Verzeichnis nicht gefunden“: Überprüfen Sie den Speicherort und die Schreibweise, einschließlich der Dateiendung. Eine versehentlich gespeicherte Datei MyScript.command.txtentspricht nicht dem obigen Befehl. Durch Ziehen der Datei in das Terminal kann der Pfad eingefügt werden.
  • Ein Befehl funktioniert bei manueller Eingabe, aber nicht im Skript: Das Skript verwendet möglicherweise eine andere Shell oder greift auf Aliase, Umgebungsvariablen oder das Arbeitsverzeichnis Ihrer interaktiven Terminal-Sitzung zurück. Verwenden Sie das korrekte Shebang, vermeiden Sie die Verwendung von Aliasen und geben Sie Dateipfade explizit an. Falls die Befehle einen bestimmten Ordner benötigen, fügen Sie eine entsprechende cdZeile am Anfang des Skripts hinzu.

Informieren Sie sich über die Berechtigungen, bevor Sie etwas teilen.

Das Ausführungsbit ist von den Datenschutzberechtigungen getrennt. Ein Skript wird normalerweise unter Ihrem Benutzerkonto ausgeführt; verwenden Sie es sudonur für Befehle, die Administratorrechte erfordern.

macOS kann Zugriff auf geschützte Ordner oder andere Apps anfordern. Prüfen Sie jede Anfrage und erlauben Sie nur den benötigten Zugriff. Unter „Apple-Menü“ > „Systemeinstellungen“ > „Datenschutz & Sicherheit“ finden Sie die Einstellungen für „Dateien & Ordner“ und zugehörige Datenschutzeinstellungen . Die Genehmigungen hängen vom angeforderten Zugriff und der anfragenden App ab; es handelt sich nicht um pauschale Berechtigungen pro Befehl, und sie werden nicht mit einem gemeinsam genutzten Skript übertragen.

Bevor Sie ein Skript ausführen oder weitergeben, lesen Sie jede Zeile sorgfältig durch und vergewissern Sie sich, dass Sie die Änderungen verstehen. Eine .commandDatei ist praktisch, da sie nach dem Öffnen sofort ausgeführt werden kann. Verwenden Sie daher nur Dateien aus vertrauenswürdigen Quellen.

Einen Kommentar hinterlassen

So erstellen Sie Screenshots auf dem Mac: Eine umfassende Anleitung

So erstellen Sie Screenshots auf dem Mac: Eine umfassende Anleitung

Erfahren Sie, wie Sie auf dem Mac Screenshots erstellen, mit Tastenkombinationen für den gesamten Bildschirm, einen Bereich oder ein Fenster, sowie Tipps zur Screenshot-App, zur Zwischenablage, zur Bearbeitung und zum Speicherort.

So fügen Sie unter macOS mehrere Bilder zu einer einzelnen PDF-Datei hinzu

So fügen Sie unter macOS mehrere Bilder zu einer einzelnen PDF-Datei hinzu

Fügen Sie mehrere Bilder in macOS mithilfe des Finders oder der Vorschau zu einer einzigen PDF-Datei zusammen. Steuern Sie die Seitenreihenfolge, vermeiden Sie das Beschneiden und beheben Sie fehlende Seiten ohne zusätzliche Software.

So zeigt man die FPS unter macOS an: Steam und Apples Metal-HUD

So zeigt man die FPS unter macOS an: Steam und Apples Metal-HUD

Erfahren Sie, wie Sie die FPS auf einem Mac mit dem Steam-Performance-Overlay oder Apples Metal Performance HUD anzeigen lassen, sowie Lösungen für den Fall, dass der Zähler nicht angezeigt wird.

So erzwingen Sie das Beenden einer App auf einem Mac: 5 schnelle Wege, eine App zu schließen

So erzwingen Sie das Beenden einer App auf einem Mac: 5 schnelle Wege, eine App zu schließen

Mit Option–Command–Esc können Sie eine nicht reagierende Mac-App zwangsweise beenden oder sie über das Apple-Menü, das Dock, die Aktivitätsanzeige oder das Terminal schließen.

So verwenden Sie den Split-Screen-Modus auf dem Mac: Zwei Apps nebeneinander anordnen

So verwenden Sie den Split-Screen-Modus auf dem Mac: Zwei Apps nebeneinander anordnen

Richten Sie Split View ein, ändern Sie die Größe oder ersetzen Sie ein Fenster, verwenden Sie Mission Control und erfahren Sie, wann die Kachelung von Desktop-Fenstern besser zu Ihrem Mac passt.

So entfernen Sie EXIF-Daten aus Fotos unter macOS

So entfernen Sie EXIF-Daten aus Fotos unter macOS

Erfahren Sie, wie Sie EXIF-Daten aus Fotos unter macOS entfernen, den Standort in Fotos ausblenden, exportierte JPEG-Kopien mit ExifTool bereinigen und das Ergebnis überprüfen.

So synchronisieren Sie zwei Ordner auf einem Mac sicher

So synchronisieren Sie zwei Ordner auf einem Mac sicher

Mit SyncTwoFolders können Sie zwei Ordner auf einem Mac synchronisieren, zwischen einer unidirektionalen und einer bidirektionalen Aktualisierung wählen und sich Änderungen in der Vorschau ansehen, bevor Dateien ersetzt oder entfernt werden.

So sichern Sie einen Tumblr-Blog auf einem Mac

So sichern Sie einen Tumblr-Blog auf einem Mac

Sichere deinen Tumblr-Blog auf deinem Mac mit der Web-Exportfunktion von Tumblr. Lade die ZIP-Datei herunter, entpacke sie, bewahre deine Beiträge und Medien sicher auf und sieh dir an, welche Inhalte im Archiv nicht enthalten sind.

So verwenden Sie Google Maps auf einem Mac-Desktop

So verwenden Sie Google Maps auf einem Mac-Desktop

Nutzen Sie Google Maps auf Ihrem Mac in Safari oder Chrome, finden Sie Orte und Routen, wechseln Sie zwischen Kartenebenen und fügen Sie eine Safari-Web-App zu Ihrem Dock hinzu unter macOS Sonoma 14 oder neuer.

So funktioniert der Rechtsklick ohne Maus unter Windows und Mac

So funktioniert der Rechtsklick ohne Maus unter Windows und Mac

Lernen Sie Tastenkombinationen und Bedienungshilfen kennen, um Kontextmenüs unter Windows und Mac zu öffnen, einschließlich der Maustasten und der Kontextmenü-Taste des Mac.