我试图执行sql通过psql下postgres帐户。 我能运行sql不包含引号
root@server:/home/rosta/SCRIPTS# su postgres -c "psql -c 'SELECT Now()'" Now ------------------------------- 2014-06-07 09:38:17.120368+02 (1 row)
包含引号如SELECT'hi'的SQL查询出现问题。 即时通讯testing简单的“嗨”,但我想从shell脚本执行这样的事情。
su postgres -c "psql -c 'create database $DB_name template=template0 enCoding='utf8' owner=aaa lc_collate='cs_CZ.utf8''"
任何人都可以告诉我如何绕编码和上面的命令collate转义引号
谢谢
如何使用batch file中的if-clause中的括号来转义variables?
如何在bash中反转“”和“ 303 266”这样的转义反斜杠eCodings?
如何通过ssh命令行来远程命令的引号
转义在sedreplace中使用的文件名
makefile – 转义括号
罗斯塔
我的一些testing
root@server:/home/rosta/SCRIPTS# su postgres -c "psql -c 'SELECT 'hi''" bash: -c: line 0: unexpected EOF while looking for matching `'' bash: -c: line 1: Syntax error: unexpected end of file root@server:/home/rosta/SCRIPTS# su postgres -c "psql -c 'SELECT \'hi\''" bash: -c: line 0: unexpected EOF while looking for matching `'' bash: -c: line 1: Syntax error: unexpected end of file root@server:/home/rosta/SCRIPTS# su postgres -c 'psql -c 'SELECT \'hi\'''
禁用sed中反斜杠的转义函数
Bash PS1:换行问题与外部命令的非打印字符
batch file是不必要的加倍字符字符
我怎样才能让rubyShellWords.shellescape工作与多字节字符?
Bash引号禁用转义
我通常使用双引号( " )为postgres -c的参数,并且为psql -c的参数使用双引号( " )。 这样,我可以在sql字符串中使用单引号( ' ),没有任何问题:
[root@mycomputer ~]# su postgres -c "psql -c "SELECT 'hi' " " ?column? ---------- hi (1 row)
最简单的方法是使用“here文件”,忽略所有的引用:
#!/bin/sh DB_name=my_data_base psql -U postgres postgres <<Stop_IT create database $DB_name template=template0 enCoding='utf8' owner=aaa lc_collate='cs_CZ.utf8' ; Stop_IT
总结以上是内存溢出为你收集整理的在shell中为postgresql转义单引号全部内容,希望文章能够帮你解决在shell中为postgresql转义单引号所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)