Open
Aus Macwrench
Inhaltsverzeichnis |
open
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
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
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 LaunchServices 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
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
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
| + | D |
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
Verfasser: hagbard





