gpt4 book ai didi

bash - 在 psql 命令中插入 bash 变量

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

当我试图在 psql 命令中插入 bash 变量作为连接参数以及命令本身中的变量时,我快要疯了。以下示例正常工作:

psql -U postgres -h localhost -p 5432 -c "CREATE DATABASE  testdb WITH ENCODING='UTF8' OWNER=postgres TABLESPACE=pg_default TEMPLATE=template_postgis CONNECTION LIMIT=-1;"

现在我试图通过一个保存在特殊配置文件中的变量来交换每个参数。

非工作示例:

dbserver=localhost
dbport=5432
dbowner=postgres
dbname=testdb
dbtemplate=template_postgis
dbtablespace=pg_default

psql -U '$dbowner' -h '$dbserver' -p '$dbport' -c "CREATE DATABASE '$dbname' WITH ENCODING='UTF8' OWNER='§dbowner' TABLESPACE='$dbtablespace' TEMPLATE='$dbtemplate'
CONNECTION LIMIT=-1;"

我已经尝试了几种引号、反引号和转义斜线,但我怎么还是行不通。提前致谢,knutella

最佳答案

使用双引号(")。单引号(')不解释里面的shell变量。

尝试一下

 echo '$USER' "$USER"

参见 man bash

关于bash - 在 psql 命令中插入 bash 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16542218/

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