2014-10-01 54 views
-1

这是我正在做的。在shell脚本中,我生成了html代码(通过cat <<EOF >output.html .... EOF)。在html部分中,我有JavaScript功能。 javascript函数需要根据位置顺序在某个位置(比如位置i)打印一个字符串。如何将javascript变量值传递给生成html/javascript代码的shell脚本?

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

以下是在shell脚本:

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

阵列信息被打印出来证实。

下面是我的javascript:

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

我这里的问题是,在JavaScript中的“我”没有得到传递到阵列中的价值---貌似我总是,但不是很当然,得到$ {array [0]}。

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

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

回答

0

您需要打开外壳阵列分成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]

+0

不完全按照您的建议。我需要javascript中的“i”值,而不是i = 0,直到$ {#array}。 – 2014-10-01 06:09:54

+0

我想我们误解了对方。说数组是a bb cc dd并且数组是在shell脚本部分中定义的,当i = 2时我需要在我的javascript部分打印出cc。当我被定义?它由我的JavaScript部分(不是我的shell脚本部分)定义。 – 2014-10-01 06:19:56

相关问题