Unter macOS im Standard-Terminal bash
kann ich Folgendes eingeben:
open -a Firefox http://www.wikipedia.org
um eine URL mit Firefox oder einem anderen Browser zu öffnen. Es funktioniert auch, um z. B. ein Programm zu starten open -a maps
und eine Datei im Standardprogramm zu öffnen, z open file.pdf
.
Wie kann ich dasselbe unter Ubuntu tun, wenn das GNOME-Standardterminal ebenfalls ausgeführt wird bash
? Ich weiß, dass ich eine Datei oder eine URL mit xdg-open /path/to/file
öffnen kann, und ich kann den Standardbrowser mit öffnen sensible-browser
. Verfügt Ubuntu über einen allgemeinen Befehl zum Öffnen von Dateien, Anwendungen oder Dateien in bestimmten Anwendungen?
Ich lasse bash
auf beiden Maschinen, 3.2.57(1)-release
auf macOS und 4.4.19(1)-release
auf Ubuntu laufen .
command-line
Miguelmorin
quelle
quelle
open -a Firefox http://www.wikipedia.org
? Können Sie nicht tunfirefox http://www.wikipedia.org
? Es scheint eine nutzlose Funktion von zu seinopen
, wenn es darum geht, Programme zu öffnenbash
.bash: firefox: command not found
. Gleicher Fehler mitFirefox
wie Programmname.bash
funktioniert genauso; Es ist Firefox, das anders installiert ist als unter Ubuntu. Unter macOS können Sie beispielsweise/Applications/Firefox.app/Contents/MacOS/firefox-bin
über die Befehlszeile ausgeführt werden.Firefox.app
ist eine besondere Art von Ordnern, zerstreut werden könnte in verschiedenen nicht nur die ausführbare Datei, aber Dateien , die in Linux enthält/usr/bin/
,/usr/lib
,/etc
usw. Verzeichnisse. Der Finder kann die eigentliche Anwendung ausführen, wenn Sie beispielsweise auf doppelklickenFirefox.app
.open
ist eine Möglichkeit, den speziellen Ordner über die Befehlszeile "auszuführen".bash
funktioniert nicht anders: Firefox wird als OS X-Anwendung (Firefox.app
) installiert und befindet sich nicht auf dem regulären Pfad. Ein weiterer Grund für die Verwendungopen -a
ist, dass die gestartete Anwendung ordnungsgemäß hinterlegt wird, anstatt darauf zu warten, bis sie beendet wird.&
Antworten:
Sie können speziell den Namen Ihres gewünschten Programms verwenden (wenn es als Befehlszeilen-Tool verwendet werden kann).
Zum Beispiel URLs:
PDF:
Bilder:
Texte:
Video / Musik:
Wenn Sie möchten, dass das Programm vom Terminal getrennt ausgeführt wird, mache ich das am liebsten so:
Beispielsweise:
Denken Sie daran, dass Sie die Ausgaben immer wie gewohnt umleiten können, zB:
quelle
eog picture.jpg
Auch für Bilder, wenn Sie Gnome-Desktop installiert haben :)open
anderes Programm aufzurufen. Warum nicht einfach das andere Programm direkt aufrufen? Welchen Nutzen bringt dasopen
? Diese Antwort gibt die natürliche Vorgehensweise zum Öffnen bestimmter Anwendungen wieder.open
unter macOS können Sie Dateien und Ordner sowohl in der Standardanwendung als auch in bestimmten Anwendungen öffnen. Es scheint, dass das Original bei den Dateien und den Anwendungsnamen für den Restbash
einen anderen Pfad eingeschlagen hatxdg-open
.open
MacOS ist, dass es die Anwendung startet, die von der Konsole, auf der es ausgeführt wird, getrennt ist. Wenn die Konsole geschlossen wird, bleibt die App aktiv. Unter Ubuntu muss dernohup
Befehl verwendet werden, um dasselbe Verhalten zu erzielen. (Da das Präfixieren jedes Befehls mit nohup und das Umleiten der Ausgabe für jeden von Ihnen ausgeführten Befehl anstrengend wird, ist es möglicherweise sinnvoller, eine benutzerdefinierte Verknüpfung zu definieren.)