【发布时间】:2018-05-23 06:57:06
【问题描述】:
我定义了以下 shell 变量:
memory_params="some memmory params"
class_path="some class path"
class_name="some class name"
现在,我在 awk 中使用这些 bash 变量
awk -v var1="${memory_params}" \
-v var2="${class_path}" \
-v var3="${class_name}" \
'{
cmd="java var1 -cp var2 var3";
system(cmd);
}'
但是,这不采用var1、var2 和var3 的值,原因很明显。如何在双引号内使用 awk 变量?
【问题讨论】:
-
echo aaa | awk -v var="${memory_params}" '{print var}'打印 $memory_params 的内容。尝试逐步测试您的解决方案以捕获错误 -
@m47730 这工作正常。问题是访问双引号内的
var,就像问题中提到的java命令一样。 -
您的问题可以替换为:“使用 awk,如何使用常量部分和变量构建字符串。这个问题与 Bash 完全无关。
-
你为什么要首先这样做
awk?
标签: awk