Java 在shell脚本中访问Jar的多个输出
我调用了一个Jar(比如abc.Jar),它返回3个输出(我在Jar中作为print语句给出,比如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
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