![](/img/trans.png)
[英]How to run a shell command in the calling (current) shell with Java
[英]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.