解决办法:
echo $i 要加引号:
echo "$i"
我在shell中使用变量来保存一个sql语句,代码如下:
sql="select * from mytable"
echo "execute sql =" ${sql}
得出结果如下:execute sql = select db2.sh db2.sh.20140615103542.log db2.sh.20140615103553.log db2.sh.20140615103608.log from mytable。很明显,shell把*解析成了当前目录文件的列表
我又换成:
sql="select \* from mytable"
echo "execute sql =" ${sql}
得出结果如下:execute sql = select \* from mytable ,没有转义成功
再换成这样:
sql="select * from mytable"
echo "execute sql =""${sql}"
就成功了,得出结果:execute sql = select * from mytable