如何将javascript变量值传递给生成html/javascript代码的shell脚本

How to pass javascript variable value to shell script which generates the html/javascript code?

本文关键字:javascript html 代码 脚本 shell 变量 变量值 值传      更新时间:2023-09-26

这就是我要做的。在shell脚本中,我生成html代码(通过cat <<EOF >output.html .... EOF)。在html部分,我有javascript函数。javascript函数需要在某个位置(比如位置i)打印一个字符串,该字符串根据位置顺序而变化。

在我的shell脚本中,我有一个数组,它包含字符串信息(比如${array[i]})。

以下是shell脚本:

    IFS=',' read -a array <<< "$line";

阵列信息通过打印输出进行验证。

以下是我的javascript:

    padding += "<td>" + i + "<u>${array[i]}</u></td>";

我在这里遇到的问题是javascript中的"I"值没有被传递到数组中——看起来我总是,但不太确定,得到${array[0]}。

将javascript部分中的"i"值传递给shell脚本部分中定义的数组的方法是什么?

为了更清楚一点:假设数组是aa bb cc dd,并且数组是在shell脚本部分中定义的。当i=2时,我需要在javascript部分中打印出cc。何时何地定义了我?它是由我的javascript部分(而不是shell脚本部分)定义的。

您需要将shell数组转换为Javascript数组:

echo 'var array = ['
i=0
while [ $i -lt $((${#array} - 1)) ]
do
    echo "'${array[$i]}',"
done
if [ ${#array} -gt 0 ]
then echo "'${array[$((${#array} - 1))]'"
fi

然后在Javascript中,您可以参考array[i]