Ich habe ein Java-Tool, das ich ziemlich oft von der Befehlszeile aus verwende, aber um es zu verwenden, muss ich eingeben java -jar dsim.jar
. Ich möchte es so machen, dass ich es einfach durch Eingabe aufrufen kann, dsim
unabhängig davon, in welchem Verzeichnis ich mich befinde, aber ich kann nicht ganz herausfinden, wie ich das bewerkstelligen soll.
Ich habe eine Datei unter erstellt ~/.bash_profile
und hineingelegt:
alias dsim='java -jar dsim.jar'
Und ich habe die Datei dsim.jar eingefügt, /usr/local/bin
während ich gelesen habe, dass hier vom Benutzer erstellte Befehlszeilentools aufbewahrt werden sollten. Dieser Speicherort befindet sich in meinem $PATH.
Ich denke, der Alias funktioniert gut, aber der Speicherort der Datei scheint von überall aus nicht zugänglich zu sein. Wenn ich dsim
von innen anrufe /usr/local/bin
, funktioniert es gut, aber wenn ich mich in einem anderen Verzeichnis befinde, bekomme ich:
Error: Unable to access jar file dsim.jar
Wie kann ich dies von jedem Verzeichnis aus zum Laufen bringen?
Verwenden Sie absolute Pfade für die JAR-Datei:
alias dsim='java -jar /path/to/dsim.jar'
Dies ist keine direkte Antwort, aber Sie können die folgende Lösung als nützlich für häufig wiederholte Befehle betrachten:
Erstellen Sie ~/.inputrc und füllen Sie es damit:
"\e[A": history-search-backward "\e[B": history-search-forward set show-all-if-ambiguous on set completion-ignore-case on
Dadurch können Sie Ihren Verlauf mit den Aufwärts- und Abwärtspfeilen durchsuchen … dh geben Sie „cd /“ ein und drücken Sie den Aufwärtspfeil, und Sie durchsuchen alles in Ihrem Verlauf, das mit „cd /“ beginnt.
(über https://coderwall.com/p/oqtj8w )
sion
grg
java
befindet sich unter Verwendung des PATH, Dateien jedoch nicht. Wenn Sie andernfalls eine Datei namens Java in einem Ordner hätten, führen Sie einen Befehl aus, z. B.cp java java2
Kopieren der Datei aus Ihrem PATH anstelle der Datei im aktuellen Ordner.