Open
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.