Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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 在shell脚本中访问Jar的多个输出_Java_Linux_Bash_Sh - Fatal编程技术网

Java 在shell脚本中访问Jar的多个输出

Java 在shell脚本中访问Jar的多个输出,java,linux,bash,sh,Java,Linux,Bash,Sh,我调用了一个Jar(比如abc.Jar),它返回3个输出(我在Jar中作为print语句给出,比如Jar的输出是 Emp name,Emp id and Email 我能够在一个变量中得到脚本中的这3个输出,这个变量没有多大用处 我想在3个不同的变量中捕获这些输出,以便进一步使用它们 是否有可能将jar的不同输出存储到.sh中的不同变量中 details=$(java -jar /mydata/abc.jar) echo $details 输出 Kevin 1234 abc@gmail.co

我调用了一个Jar(比如abc.Jar),它返回3个输出(我在Jar中作为print语句给出,比如Jar的输出是

Emp name,Emp id and Email
我能够在一个变量中得到脚本中的这3个输出,这个变量没有多大用处

我想在3个不同的变量中捕获这些输出,以便进一步使用它们

是否有可能将jar的不同输出存储到
.sh
中的不同变量中

details=$(java -jar /mydata/abc.jar)
echo $details
输出

Kevin 1234 abc@gmail.com

是的,这是可能的,您只需要评估结果并为每个值分配一个变量

$ details=$(java -jar /mydata/abc.jar)
$ r=`echo $details |gawk '{print "a="$1,"b="$2,"c="$3}'`
$ eval $r
# variable $a $b $c will store your value respectively
$ echo $a $b $c
Kevin 1234 abc@gmail.com

此行抛出语法错误(r=echo$details | gawk{print:command not found)哪个命令?将
gawk
替换为
awk
?您是否在Linux/Bash shell环境中?我正在Linux中使用以下命令运行脚本:sh scriptname.sh。尝试使用“awk”和“pawk”“还有同样的错误。我认为打印命令是问题所在。我没有找到任何名为print w.r.t GAWK、PAWK或AWK的关键字。
print
有问题吗?在我的环境中没有问题。
$GAWK--version GNU AWK 4.1.4