为什么shell命令会引发错误:
sudo -u postgres \
-- sh -c '/usr/bin/env psql -c "CREATE ROLE deploy PASSWORD secret SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;"'
原因:
ERROR: syntax error at end of input
LINE 1: CREATE
^
什么是正确的语法?
非常感谢。
答案 0 :(得分:1)
尝试:
sudo -u postgres '/usr/bin/env RBENV_ROOT=/usr/local/rbenv RBENV_VERSION=2.1.3 psql -c "CREATE ROLE deploy PASSWORD secret SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;"'
env
在运行命令之前进行变量赋值。我不明白为什么你需要使用sh -c
,sudo
为你执行命令。