我有一个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)。