您的位置:首页 > 运维架构 > Shell

perl,shell中如何打印出处理sql语句变量的单引号

2011-01-24 10:32 603 查看
今天早上有个小问题难住了,在sql中的insert语句中需要打印单引号。

awk '{print "insert into webconfig (domain,webdir) values("$1","$2")"";"}'
因为需要打印出$1,$2变量而且需要单引号,试了很多种方法都不行,转义,双引号都已过了,都是不能输出。
最后参悟了一句话:双引号会解释字符串的特别意思,而单引号直接使用字符串输出。
因为语句包含在print中的双引号所有里面包含的符号都解释,而单引号是不解释的。
更改后代码如下:

awk '{print "insert into webconfig (domain,webdir) values('\''"$1"'\'','\''"$2"'\'')"";"}'

即:单引号,反斜杠,单引号,单引号。输出单引号
此方法同样适用于perl.本文出自 “mcshell学习博客” 博客,请务必保留此出处http://mcshell.blog.51cto.com/803455/484603
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: