首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >增加一个报价嵌套级别的方法(docker + bash + psql)

增加一个报价嵌套级别的方法(docker + bash + psql)
EN

Stack Overflow用户
提问于 2020-12-09 18:58:41
回答 1查看 46关注 0票数 0

我需要使用一个命令修改postgreSQL表中的一个值。我想在一个容器里运行这样的东西:

代码语言:javascript
代码运行次数:0
运行
复制
su - postgres -c "psql -c \"\c database_name\" -c \"UPDATE table_name SET value_name = 'value';\""

这是唯一能做到这一点的方法,因为echo "\c database_name \\ UPDATE table_name SET value_name = 'value';" | psql不能在我的postgreSQL中工作,从而导致

代码语言:javascript
代码运行次数:0
运行
复制
invalid command \

我可以通过命令sudo docker exec -it container_name bash -c "*command above*"在容器中运行它吗?上述命令周围的引号类型都不能使其工作。提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 19:09:23

您应该能够避免使用su,方法是告诉docker exec本身哪个用户应该运行psql。您还可以直接运行psql,而不是执行执行它的bash shell。

代码语言:javascript
代码运行次数:0
运行
复制
sudo docker exec --user postgres \
  psql -c "\c database_name" -c "UPDATE table_name SET value_name = 'value';"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65223185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档