Ich habe drei verschiedene Möglichkeiten ausprobiert, um auf meinem Mac einen symbolischen Link zu Sublime Text zu erstellen. Nach jedem Neustart des Terminals wird mir immer wieder mitgeteilt, dass der Befehl nicht gefunden wurde. Ich verwende einen Mac mit Yosemite (OSX Yosemite, 10.10). Wie kann ich einen symbolischen Link erstellen, um Sublime mit dem sub
Befehl zu öffnen ?
Eins
ln -s 'Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl' /bin/sub
Zwei
ln -s "Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" /bin/sub
Drei (keine Anführungszeichen)
ln -s Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /bin/sub
/Applications/…
, wie in der Antwort angegeben, und Sie benötigen Root-Berechtigungen zum Schreiben/bin
(dahersudo
). Die verbleibende Frage ist, ob es ausreicht, die ausführbare Datei so auszuführen. Sind Sie sicher, dass Sie kein Shell-Skript möchten, dasopen "/Applications/Sublime\ Text.app"
stattdessen so etwas wie den Inhalt der Datei ausführt/bin
?Antworten:
Sie vermissen das '/' am Anfang Ihrer App und
sudo
als/bin
Eigentum vonroot
und können als normaler Benutzer nicht darauf schreiben. Wie Sie es derzeit haben, würde es nur funktionieren, wenn Ihr aktuelles Verzeichnis das Systemstammverzeichnis wäre. Dies setzt natürlich voraus, dass sich die Sublime Text-App in Ihrem Hauptanwendungsordner befindet.Versuche dies…
Ein nachträglicher Gedanke: Es wird als schlechte Praxis angesehen, den Inhalt von zu ändern,
/bin
und/usr/bin
weil jedes bevorstehende OS X-Upgrade den Inhalt dort löschen kann./usr/local/bin
ist der übliche Ort, an dem vom Benutzer bereitgestellte Binärdateien installiert werdenkönnte die bessere Option sein.
Oder (da Sie Sublime Text wahrscheinlich nie in einem Shell-Skript ausführen müssen) definieren Sie einfach einen Bash-Alias
Dies sollte zu Ihrer Bash-Startdatei hinzugefügt werden, damit sie haftet
quelle
sudo
und wenn Sie den Pfadnamen zitieren möchten, verwenden Sie keine Backslashes, um Leerzeichen zu entkommen!Spät zur Party. Beim Einrichten meines Mac bin ich auf dasselbe Problem gestoßen und habe einige Dinge ausprobiert. Hier ist, was für mich funktioniert hat.
Weitere Informationen finden Sie in diesem Github-Repo .
quelle
sudo
und er in diesem Fall erforderlich ist, wie unterscheidet sich dies von dem, was bereits in der Antwort von Mockman angeboten wurde? Abgesehen von der Tatsache, dass er sich für die Verwendung vonsub
vs. entschieden hatsubl
, um wiederholt ein Zeichen weniger einzugeben, um es zu verwenden, ist es wirklich nicht das, was ich sehen kann!/usr/local/bin
nicht/usr/bin
wie die obigen Befehle verwendet./usr/local/bin
ist das empfohlene Verzeichnis für Benutzeranwendungen, während / usr / bin für verteilungsverwaltete Benutzerprogramme verwendet wird. Sosub
vssubl
ist nicht die einzige Veränderung, es hängt einfach von Benutzerpräferenz; was sie schreiben wollen. Ich entschuldige mich, wenn es Verwirrung stiftet.ln: /usr/local/bin/subl: Permission denied
ausführen, wie er von einem Administratorkonto ausgeht , wird zurückgegeben. 2. Ich würde vorschlagen, dass Sie die Antwort von Mockman erneut lesen, wie sie/usr/local/bin/
im zweitensudo ln -s
Befehl in seiner Antwort unbedingt enthalten ist !