erleichtert das Aufrufen häufig verwendeter Terminalbefehle

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, dsimunabhä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_profileund hineingelegt:

alias dsim='java -jar dsim.jar'

Und ich habe die Datei dsim.jar eingefügt, /usr/local/binwä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 dsimvon 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?

Antworten (2)

Verwenden Sie absolute Pfade für die JAR-Datei:

alias dsim='java -jar /path/to/dsim.jar'
Das wird wahrscheinlich funktionieren, aber ist es nicht die Idee, etwas in ein Verzeichnis in Ihrem PATH zu legen, das Sie nicht so ansprechen müssen? Ich dachte, dass es im PATH bedeutet, dass Sie nur den Dateinamen aus jedem Verzeichnis aufrufen könnten und es gefunden würde?
@Sam Nicht für solche Dateien. javabefindet 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 java2Kopieren der Datei aus Ihrem PATH anstelle der Datei im aktuellen Ordner.

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 )