Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
脚本如何获取不同类型的命令行参数并将其提供给java程序?_Java_Bash_Shell - Fatal编程技术网

脚本如何获取不同类型的命令行参数并将其提供给java程序?

脚本如何获取不同类型的命令行参数并将其提供给java程序?,java,bash,shell,Java,Bash,Shell,所以我需要制作一个java程序,它代表一个银行耕耘者。但是,我需要使用一个可执行脚本,将命令行参数提供给java程序。不幸的是,我可以使用多种类型的命令来调用java程序 由于有不同类型的命令选项(start、buy和change),我不知道如何将正确的参数信息提供给java程序。如果您能提供任何帮助,我将不胜感激。将脚本参数传递给您的java程序: java programName "$@" 将脚本参数传递给Java程序: java programName "$@" 除非我遗漏了什么,否则

所以我需要制作一个java程序,它代表一个银行耕耘者。但是,我需要使用一个可执行脚本,将命令行参数提供给java程序。不幸的是,我可以使用多种类型的命令来调用java程序


由于有不同类型的命令选项(start、buy和change),我不知道如何将正确的参数信息提供给java程序。如果您能提供任何帮助,我将不胜感激。

将脚本参数传递给您的java程序:

java programName "$@"

将脚本参数传递给Java程序:

java programName "$@"

除非我遗漏了什么,否则可以使用
$@
将脚本的参数传递给Java程序

#!/usr/bin/env bash
export CLASSPATH="$HOME/src/java/"
java com.example.MyTeller "$@"

除非我遗漏了什么,否则可以使用
$@
将脚本的参数传递给Java程序

#!/usr/bin/env bash
export CLASSPATH="$HOME/src/java/"
java com.example.MyTeller "$@"
以下是一个示例:

public class PrintArgs {
    public static void main (String[] args) {
        for (int x=0; x<args.length; x++) {
            System.out.println(arg[x]);
        }
    }
}
脚本我不太确定,但我希望您可以查找它。Google shell脚本参数。

以下是一个示例:

public class PrintArgs {
    public static void main (String[] args) {
        for (int x=0; x<args.length; x++) {
            System.out.println(arg[x]);
        }
    }
}

这个脚本我不太确定,但我想你可以查一下。Google shell脚本参数。

看看Apache CLI的东西。特别是POSIX解析器()


它将使您能够指定POSIX风格的命令行参数(--buy{value}--sell{value}).

看看Apache CLI的内容。特别是POSIX解析器()


它将使您能够指定POSIX样式的命令行参数(--buy{value}--SALL{value})…

使用
case
语句根据
$1
执行不同的代码。使用
case
语句根据
$1
执行不同的代码。将它们用作
java
命令的参数,并让java程序从命令参数中读取它们。我宁愿将参数检查/valida而是让shell脚本将所有参数委托给Java程序使用它们作为
Java
命令的参数,让Java程序从命令参数中读取它们。我宁愿把参数检查/验证/解析放在Java程序中,让shell脚本暗示将所有参数委托给Java程序您应该使用
“$@”
来确保参数被重新引用。好的,谢谢!我知道我可以这样做,但我认为我过于复杂了,因为有多个命令,如start、buy和change。然而,我意识到Java程序只会解决这个问题。您应该使用
“$@”
以确保参数被重新引用。好的,谢谢!我知道我可以这样做,但我认为我过于复杂了,因为有多个命令,如start、buy和change。然而,我意识到java程序会解决这个问题。忘了提一下你可以做类型检查等等。忘了提一下你可以做类型检查等