【问题标题】:replace java -jar by a bash command line用 bash 命令行替换 java -jar
【发布时间】:2017-01-29 19:29:26
【问题描述】:

使用 java -jar arg1 arg2 运行 java commande 很无聊。 有没有办法从脚本文件轻松创建标准命令行,没有别名?
例如使用 /usr/bin/trimmomatic 替换

java -jar /PROGS/EXTERN/trimmomatic-0.35.jar MYFILE 

trimmomatic MYFILE

【问题讨论】:

标签: java bash binary alias


【解决方案1】:

您可以将以下内容附加到您的 ~/.bashrc 文件中:

alias trimmomatic='java -jar /PROGS/EXTERN/trimmomatic-0.35.jar'

然后重新启动你的 shell(或者如果你不想重新启动它,则执行source ~/.bashrc)并且别名应该可用。

或者,您可以定义一个 bash 函数(例如,再次在您的 ~/.bashrc 中):

trimmomatic() { java -jar /PROGS/EXTERN/trimmomatic-0.35.jar "$@"; }

或者你可以在 $PATH 中放入的包装器 shell 脚本:

#!/bin/bash
java -jar /PROGS/EXTERN/trimmomatic-0.35.jar "$@"

【讨论】:

  • 谢谢我知道别名。我正在考虑将文件放入 bin 文件夹 PATH 中。
  • 那不行,$PATH 仅适用于本机可执行文件/脚本,不适用于 jar 文件。
  • @dridk 查看我的更新答案以了解其他选择。
  • 是的,但是可以运行 Python 脚本。为什么 shebang #!/bin/java -jar 不存在?
  • @dridk shebang 必须是要执行的文件的一部分(在这种情况下是 jar 文件)。如果 jar 文件确实以字符串 #!/bin/java -jar\n 开头,那么您只需 chmod +x 并像使用标准可执行文件一样执行。不幸的是,事实并非如此,所以你不能这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-20
相关资源
最近更新 更多