在外壳程序脚本中运行psql命令时出现“错误替换”错误

时间:2019-07-15 15:57:31

标签: escaping psql hyphen

我有一个shell脚本,可以在postgres中创建服务用户。到目前为止,使用该脚本创建用户还没有问题。但是,现在我有一个特殊情况,当我尝试创建用户时,遇到“错误替换”错误。与之前能够成功创建用户的方案的唯一区别是,我在作为参数传递的环境名称中使用了“连字符”。

以前方案中的环境名称-“开发”,“测试”,“阶段”,“产品” 当前情况-“ staging-beta”

我尝试用Google搜索错误,但找不到任何相关问题,或者我搜索不正确。我假设这是psql命令的问题,由于某种原因它不接受连字符。试图找到如何逃避连字符,但进展不大。

#!/bin/bash
X=${ENV^^}_DB
psql ${!X} -c "CREATE USER ${SCHEMA}_service_user WITH PASSWORD '${PASSWORD}';"
psql ${!X} -c "commit;"

./ create_user.sh第3行:STAGING-BETA:不良替代 ./create_user.sh第4行:STAGING-BETA:错误替换

获取此错误。它不带“-”(如果我的名字叫STAGINGBETA)。

0 个答案:

没有答案