Wie kann man einen Befehl setzen, ohne den Pfad jedes Mal zu definieren?

369
lvthillo

Ich habe einen Befehl, der lautet:

./keytool 

Aber ich muss immer in diesen Ordner gehen, um ihn zu benutzen:

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin 

Wie kann ich einfach den folgenden Befehl in meiner gesamten Umgebung verwenden, anstatt den Pfad jedes Mal zu definieren?

keytool 

Wie muss ich das machen?

1
Mögliches Duplikat von [So setzen Sie den Alias ​​dauerhaft mit dem Befehl?] (Http://superuser.com/questions/205714/how-to-set-alias-permanently-using-command) Francisco Tapia vor 8 Jahren 0

2 Antworten auf die Frage

1
MetalGodwin

Eine Möglichkeit wäre, einen symbolischen Link zu jedem Ordner zu erstellen, der sich aktuell in Ihrer PATH-Variablen befindet. In diesem Beispiel verwenden wir / usr / bin /.

sudo ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin/keytool /usr/bin/keytool 
1
francesco foresti

Fügen Sie am Ende der .bashrc(oder .profile) Datei, die sich in Ihrem Basisverzeichnis befindet, die folgende Zeile hinzu :

export PATH=$PATH:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin 

Dies ist jedoch ein sehr fragiler Ansatz, da er nicht wie erwartet funktioniert, sobald Sie Ihre Java-Installation aktualisieren. Wenn Sie es besser machen wollen, schlage ich Ihnen ein paar Möglichkeiten vor:

Schauen Sie im /etc/alternativesOrdner nach, ob es einen Link gibt, der javaauf die aktuelle Java-Startseite verweist (könnte auf einen anderen Link zeigen). Wenn es dort ist, ändern Sie die Exportzeile mit

export PATH=$PATH:/etc/alternatives/java 

oder (abhängig von Ihrem System) könnte ein Link vorhanden sein /usr/lib/jvm, /usr/lib/jvm/javader auf die neueste Version des installierten jvm verweist. Wenn es dort ist, können Sie diese verwenden, also ist die Exportzeile

export PATH=$PATH:/usr/lib/jvm/java 

Abgesehen davon, wenn Sie möchten, dass es systemweit ist (anstatt die Pfaderweiterung auf Ihren Benutzer zu beschränken), sollten Sie die Zeile hinzufügen /etc/bashrc(oder /etc/bash-bashrcwenn sie vorhanden ist).

Als letzte Anmerkung funktioniert dies nur in neu erstellten Shells, nicht in den bereits vorhandenen, es sei denn, Sie geben den Befehl aus

. ~/.bashrc 

(oder die Datei, die Sie geändert haben, falls nicht .bashrc) in diesen Shells.