从命令行使用 psql 时的单引号
single quotes when using psql from command line
我正在尝试 运行 从命令行获取这个简单的 psql 命令并获取列 ns 不存在。我确定我遗漏了一些非常愚蠢的东西。
psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='NS' where id <> 123;'
错误:“ns”列不存在
我尝试将 E'NS' 转义为 'NS' 但没有成功..
谢谢
这确实是一个 shell
问题,例如 here 得到了回答。
针对您的问题进行了改编:
psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='"'"'NS'"'"' where id <> 123;'
注意:有时,当您将多个级别的参数传递给嵌套的 shell 调用时,使用八进制形式的单引号也很有用:
echo "7"
# '
我正在尝试 运行 从命令行获取这个简单的 psql 命令并获取列 ns 不存在。我确定我遗漏了一些非常愚蠢的东西。
psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='NS' where id <> 123;'
错误:“ns”列不存在
我尝试将 E'NS' 转义为 'NS' 但没有成功..
谢谢
这确实是一个 shell
问题,例如 here 得到了回答。
针对您的问题进行了改编:
psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='"'"'NS'"'"' where id <> 123;'
注意:有时,当您将多个级别的参数传递给嵌套的 shell 调用时,使用八进制形式的单引号也很有用:
echo "7"
# '