使调用常用的终端命令更容易


2

我有一个Java工具,我经常从命令行使用它,但是要使用它,我必须输入java -jar dsim.jar。我想这样做,以便dsim无论我在哪个目录中都可以通过键入来调用它,但是我还不太确定如何完成此操作。

我在创建了一个文件~/.bash_profile并放入其中:

alias dsim='java -jar dsim.jar'

/usr/local/bin在我阅读此文件时,我已将dsim.jar文件放入其中,应保留用户创建的命令行工具。这个位置在我的$ PATH中。

我认为别名工作得很好,但是似乎无法从任何位置访问文件的位置。如果我dsim从内部调用/usr/local/bin可以正常工作,但是如果我在任何其他目录中,则会得到:

Error: Unable to access jar file dsim.jar

如何从任何目录中使用它?

Answers:


5

对jar文件使用绝对路径:

alias dsim='java -jar /path/to/dsim.jar'

那可能会起作用,但是不是不必将某些内容放入PATH目录中的想法吗?我认为在PATH中包含它意味着您可以从任何目录中仅调用文件名,并且可以找到它?
山姆

@Sam不适用于此类文件。java是使用PATH定位的,但文件不是,否则,如果您在文件夹中有一个名为java的文件,则运行一条命令,例如,cp java java2将从PATH复制该文件,而不是从当前文件夹中复制该文件。
grg

0

这不是直接的答案,但是您可以将以下解决方案视为经常重复使用的命令的有用解决方案:

创建〜/ .inputrc并填充它:

"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on

这使您可以使用向上和向下箭头搜索历史记录,即键入“ cd /”并按向上箭头,您将搜索历史记录中以“ cd /”开头的所有内容。

(通过https://coderwall.com/p/oqtj8w

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.