Der Hauptzweck des open
Befehls von OS X besteht darin, eine Datei in der zugehörigen Anwendung zu öffnen. Das Äquivalent zu modernen Nicht-OSX-Unices ist xdg-open
.
xdg-open index.html
xdg-open
hat kein Äquivalent zu OSX open -a
, um eine Datei in einer bestimmten Anwendung zu öffnen. Dies liegt daran, dass die normale Methode zum Öffnen einer Datei in einer Anwendung darin besteht, einfach den Namen der Anwendung gefolgt vom Namen der Datei einzugeben. Genauer gesagt müssen Sie den Namen des ausführbaren Programms eingeben, das die Anwendung implementiert.
sublime_text index.html
Linux verwaltet wie andere Unix-Systeme (aber meines Wissens nicht die Nicht-Unixy-Teile von OS X) Software, indem es sie mit einem Paketmanager verfolgt und einzelne Dateien dort ablegt , wo sie verwendet werden . Beispielsweise befinden sich alle ausführbaren Programme in einer kleinen Gruppe von Verzeichnissen, und alle diese Verzeichnisse sind in der PATH
Variablen aufgeführt . running sublime_text
sucht nach einer Datei, die sublime_text
in den in aufgeführten Verzeichnissen aufgerufen wird PATH
. OS X benötigt eine zusätzliche Indirektionsebene, open -a
um Anwendungen zu verarbeiten, die in einem einzelnen Verzeichnisbaum entpackt und in einer Anwendungsdatenbank registriert sind. Linux hat keine Anwendungsdatenbank, ist aber so organisiert, dass es keine benötigt.
Wenn das Ausführen der Befehlsshell sublime_text
für Sie nicht funktioniert, wurde Sublime Text nicht ordnungsgemäß installiert. Ich habe es nie verwendet, und anscheinend wird es als Tar-Archiv und nicht als Distributionspaket (z. B. deb oder rpm) geliefert. Daher ist es möglich, dass Sie einen zusätzlichen Installationsschritt ausführen müssen. Es ist wirklich die Aufgabe der Macher von Sublime Text, dies automatisch zu machen, aber wenn sie es nicht getan haben, können Sie es wahrscheinlich selbst tun, indem Sie den Befehl ausführen
sudo -s …/sublime_text /usr/local/bin
Ersetzen Sie natürlich …
durch den Pfad, in dem sich die sublime_text
ausführbare Datei befindet.
Der open
Befehl, auf den Sie gestoßen sind, ist ein älterer Name für den openvt
Befehl (einige Linux-Distributionen enthalten ihn nur unter dem Namen openvt
). Der openvt
Befehl erstellt eine neue virtuelle Konsole , die nur von root ausgeführt werden kann und in diesem Jahrhundert nicht sehr häufig verwendet wird, da die meisten Benutzer immer nur in einer grafischen Fensterumgebung arbeiten.
xdg-open
welche die Datei in Ihrem Browser öffnen soll. Deropen
Befehl ist eine Verknüpfung zumopenvt
Befehl und öffnet eine Binärdatei in einer neuen virtuellen Konsole. Das ist anscheinend nicht was du willst.