我有一个包含此命令的脚本
/usr/bin/psql postgres -h localhost -U postgres -c "GRANT CONNECT ON DATABASE "famdb-develop" TO fullwood;"
当我运行它时,我收到此错误:
ERROR: syntax error at or near "-"
LINE 1: GRANT CONNECT ON DATABASE famdb-develop TO fullwood;
如何转义此命令中的破折号?
看起来引号没有被传递到 PostgreSQL。您需要通过在它们前面添加反斜杠来转义它们 (
\
):
/usr/bin/psql postgres -h localhost -U postgres -c "GRANT CONNECT ON DATABASE \"famdb-develop\" TO fullwood;"
# Here -----------------------------------------------------------------------^--------------^