[英]Use JAVA multi-line outputs as variables within shell script
我的 JAVA 代码 output 如下所示。
Name="John"
Age="23"
Gender="Male"
Phone="+123 456 789"
..
..
我想使用上面的 java 代码 output 作为 shell 脚本中的变量,而不编写任何中间文件。 我正在尝试在 Myscript.sh 中使用以下命令获取变量
JAVA_OUTPUT=`java -cp ojdbc6.jar:. javaClassFile args`
echo $JAVA_OUTPUT
但我无法将 java output 设置为 shell 脚本中的变量
您可以使用关联数组来存储所有键/值对:
declare -A vars
while IFS='=' read -r key value; do
vars[$key]=$value;
done < <(java -cp ojdbc6.jar:. javaClassFile args)
echo "${vars[Name]} is ${vars[Age]}"
# Etc.
或者,如果您更改 java 程序以在值周围添加引号,并使用电话号码等空格,例如source <(java -cp ojdbc6.jar:. javaClassFile args)
可能适用于创建多个变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.