创建一个与shell脚本相同的表达式

时间:2014-11-24 07:20:35

标签: linux shell

我正在尝试使用Linux Shell脚本中的FOR循环来生成要传递给shell脚本中的SQL查询的条件。以下是给出错误的部分:

    > condition=${primarykey//,/ }
    > echo $condition
      cond1 cond2

    > temp=""

    > for i in $condition
    > do
    >   $temp="${temp}c.${i}\=s.${i} AND "
    > done

我正在寻找要生成的以下表达式:

    > echo $temp
      c.cond1=s.cond1 AND c.cond2=s.cond2

但是,我收到以下错误:

    ./script.sh: line 28: =c.cond1\=s.cond1 AND : command not found
    ./script.sh: line 28: =c.cond2\=s.cond2 AND : command not found

有人可以用正确的方式帮助我获得这个表达吗?

2 个答案:

答案 0 :(得分:1)

$意味着替代。在中,获取变量的内容并将其替换为该点的命令行。如果您想分配,则不得替换。

TL; DR:删除等号左侧的美元符号。

答案 1 :(得分:1)

这样做。

temp=""           
for i in $condition
do
       temp="$temp c.$i=s.$i AND "
done