我正在尝试使用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
有人可以用正确的方式帮助我获得这个表达吗?
答案 0 :(得分:1)
$
意味着替代。在中,获取变量的内容并将其替换为该点的命令行。如果您想分配,则不得替换。
TL; DR:删除等号左侧的美元符号。
答案 1 :(得分:1)
这样做。
temp=""
for i in $condition
do
temp="$temp c.$i=s.$i AND "
done