繁体   English   中英

如何制作Java Shell命令(不使用Java运行Shell命令)

[英]How to make a Java Shell Command (NOT how to run a shell command with Java)

我刚刚完成了一个终端程序,无法弄清楚如何正确部署它,因此可以通过bash这样执行它:

myjavaprogram [options]

充其量我似乎只能得到

java -jar /path/to/myjavaprogram [options]

上班。 但这还不够。 我想给程序起一个清晰的名字,我可以快速输入。 在您说出来之前,是的,我已经尝试过执行Shell命令。 结果如下,我将其命名为我想命名的名称:

#!/bin/bash
java -jar /path/to/myjavaprogram

我将其与其他命令一起保存到了/ usr / bin。

问题是当我尝试运行它时,它不允许我输入选项。 从以前部署过终端应用程序的任何Java人员那里得到什么建议? 我不想每次运行事物时都必须输入完整的路径名,因为它用于大量用途(大量数据处理等)。 任何建议表示赞赏。 谢谢。

抱歉。 HTML搞砸了。 我的意思是说我希望它像“ myjavaprogram [options]”一样运行,我不小心使用了尖括号。

如果您需要Bash解决方案,请查看bash命令行参数。 通常,您将使用$ 1,$ 2,$ 3等来指定选项,因此,在您的情况下,如果需要3个选项,则可以编写此选项。

java -jar /path/to/myjavaprogram $1 $2 $3

像这样运行

my_prog 1 2 3

如果要告诉bash处理给定的任何其他命令行选项,请使用$ @

java -jar /path/to/myjavaprogram $@

并运行它,所以

my_proc 1 2 3 4 5 6 7 8 9 10

这应该工作

#! /bin/bash
exec java -jar /path/to/myjavaprogram "$@"

注意,使用exec丢弃bash$@周围的引号以保留空格。

编辑

试试这个作为您的Java程序

public class T1 {
    public static void main(String args[]) {
        System.out.println(java.util.Arrays.toString(args));
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM