Ich habe eine .sh-Datei, die ich zum Erstellen eines symbolischen Links benötige. Ich möchte über das Terminal auf die Datei zugreifen können.
Der Befehl, den ich benutze, ist:
ln -s /path/roo.sh /usr/bin/roo
Aber wenn ich tippe roo
, heißt es, dass der Befehl nicht gefunden wurde. Wenn ich tippe /path/roo.sh
, funktioniert es. Vermisse ich irgendwo einen Schritt?
osx-snow-leopard
bash
terminal
alias
okysabeni
quelle
quelle
/usr/bin/roo
vorhanden ist?Antworten:
Was du getan hast, sollte funktionieren. Fehlerbehebung:
Bist du unter der Wurzel? War der
ln
Befehl tatsächlich erfolgreich? Überprüfen Sie, mitls -l /usr/bin/roo
welcher der neu erstellte Link aufgelistet werden soll. Wenn der Link nicht vorhanden ist, fügen Sie vorher "sudo" hinzuln
, um ihn als root auszuführen (sudo fordert zur Eingabe des root-Passworts auf):Manchmal merkt sich bash, wo sich eine bestimmte ausführbare Datei befindet, und sucht nicht an anderen Orten. Geben Sie ein
hash -r
, um es zu vergessen, und versuchen Sie esroo
erneut."/ usr / bin" sollte definitiv in Ihrem PFAD sein, aber es tut nicht weh zu überprüfen:
echo $PATH
sollte "/ usr / bin" enthaltenquelle
Verwenden Sie den Befehl
alias roo="/usr/bin/roo"
quelle
Wenn Sie versuchen, roo als Befehl zu verwenden, sollten Sie sich den Alias-Befehl ansehen.
In diesem Fall würden Sie tun:
Um es zu nennen, müssen Sie nur tun
roo
Zum Beispiel
quelle
Ich denke, der Symlink wurde nicht erstellt, da Sie dies nur mit sudo vom Terminal aus tun können. Bitte überprüfen Sie, ob / usr / bin / roo vorhanden ist.
Wenn vorhanden, versuchen Sie es bitte mit dem
echo ${PATH}
Befehl. Er zeigt Ihnen die Ordner, in denen Sie die Shell-Suche befehlen. Wenn es nicht / usr / bin enthält, versuchen Sie es durch Hinzufügenexport PATH="${PATH}:/usr/bin"
zu Ihrem ~ / .profile zu behebenquelle
Mein hat
echo $PATH
mir gezeigt, dass / usr / local / bin / auch in meinem Pfad ist, also habe ich nur / usr / local / bin / roo als mein Linkziel verwendet.quelle