gpt4 book ai didi

bash - 使用 bash 脚本创建 postgresql 数据库条目

转载 作者:行者123 更新时间:2023-11-29 14:11:04 24 4
gpt4 key购买 nike

下面是我的 bash 脚本的一部分,它应该创建一个前端用户:

DBUSER="testing"
DBNAME="testing"
ADMIN_NAME="A"
ADMIN_LNAME="B"
ADMIN_EMAIL="admin@test.net"
ADMIN_PASSWORD="'password'"

PGPASSWORD=$DBPASS psql -U $DBUSER -d $DBNAME -h 127.0.0.1 -c "INSERT INTO users_user VALUES (1, \'$ADMIN_NAME\', \'$ADMIN_LNAME\', \'$ADMIN_EMAIL\', \'$ADMPASS\', \'true\', \'zxc\')"

我得到的结果是这样的:

ERROR:  syntax error at or near "\"                                                                                              
LINE 1: INSERT INTO users_user VALUES (1, \'A\', \'B\', \'...

谁能告诉我哪里出错了?

最佳答案

根据您的代码,您需要删除单引号前的反斜杠。此外,除非有意,否则您需要从 ADMIN_PASSWORD 变量中删除单引号。

我还建议按照 Michael Jaros 的描述引用 bash 变量。尽管您的代码中似乎没有任何需要它的东西,但养成这种习惯是一个好习惯,有助于使变量的使用更加可见,并且可以防止将来出现需要该语法的问题。因此,根据这些建议,您的代码最终将成为:

DBUSER="testing"
DBNAME="testing"
ADMIN_NAME="A"
ADMIN_LNAME="B"
ADMIN_EMAIL="admin@test.net"
ADMIN_PASSWORD="password"

PGPASSWORD=${DBPASS} psql -U ${DBUSER} -d ${DBNAME} -h 127.0.0.1 -c "INSERT INTO users_user VALUES (1, '${ADMIN_NAME}', '${ADMIN_LNAME}', '${ADMIN_EMAIL}', '${ADMPASS}', 'true', 'zxc')"

关于bash - 使用 bash 脚本创建 postgresql 数据库条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28895879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com