Open

From macwrench

open[edit]

Mit dem Kommando open lassen sich auch vom Terminal aus Programme starten und Dateien öffnen - selbst wenn es sich dabei um sog. "Application Bundles" (.app "Dateien") handelt.

Prinzipiell läuft der Aufruf so ab:

open [option] [programm, datei oder verzeichnis]

Dabei ist immer zu beachten, dass die Pfadangaben im Terminal nicht lokalisiert werden. Die Verzeichnisse heissen also z.B.:

Applications (im Finder: Programme)
Utilities (im Finder: Dienstprogramme)
Users (im Finder: Benutzer) 
Pictures (im Finder: Bilder)
etc.

Aufruf ohne weitere Option[edit]

Bei direkter Angabe eines Pfades wird das zugehörige Verzeichnis im Finder geöffnet:

open /Applications/Utilities

Bei Angabe einer Datei wird diese mit der dem Datentyp zugeordneten Anwendung gestartet, z.B. mit der Vorschau:

open ~/Desktop/ReadMe.pdf

Außerdem ist die Angabe in Form eines URL-Schemas erlaubt, beispielsweise:

open http://www.apple.com/de/

oder

open file://localhost/Volumes/Macintosh HD/MeinText.txt
open file://localhost/Volumes/Macintosh HD/Applications/Utilities/
open file:///Users/hagbard/Documents/Desktop/MeinText.txt

Anwendungen starten[edit]

Application Bundles können z.b. mit einem Befehl wie folgt gestartet werden:

open /Applications/TextEdit.app

oder anhand ihres "Namens" unter dem sie bei den Launch Services registriert sind. Im obigen Fall TextEdit genügt also auch das folgende Kommando:

open -a TextEdit

Dieser Wert steht innerhalb des Application Bundles in der Datei "info.plist".

Außerdem kann ein Programm anhand des "Bundle Identifiers" gestartet werden, und zwar mit Hilfe der Option

-b

Dabei ist wiederum zu beachten, dass die englischen Bezeichnungen verwendet werden, also beispielsweise "Preview" statt "Vorschau" oder "Calculator" statt "Rechner".

Dateien öffnen[edit]

Tetdateien (.txt, .rtf, ...) können auch unter Angabe dr option "-e" direkt in TextEdit geöffnet werden:

open -e ~/Desktop/MeinText.rtf

oder wahlweise auch mit dem in den Launch Services eingetragenen Standard-Texteditor:

open -t ~/Desktop/MeinText.txt

stdout im Texteditor anzeigen[edit]

mit -f wird die Ausgabe von stdout umgelenkt und anschließend im Standard-Texteditor angezeigt:

ls -l | open -f

Die Inhalte werden dabei währenddessen in /tmp zwischengespeichert. Das Ende der auszugebenden Daten wird mit EOF (End of File) durch die Eingabe von <KB> CTRL + D</KB> gekennzeichnet, was z.B. bei Datenquellen wie der folgenden notwendig ist:

tcpdump -i en0 tcp dst port 80 | open -f

Die ganze Sache funktioniert jedoch nur für denjenigen Benutzer, der gerade angemeldet ist. Die Ausgabe eines mittels sudo oder su gestarteten Kommandos läuft ins Leere, da offensichtlich die Weitergabe der Daten zu TextEdit fehlschlägt.

Weitere Informationen[edit]