我有一些命令的脚本,例如:
sudo docker exec $container psql -U postgres -c "CREATE DATABASE $gisdb ;"
$container
参数没问题,但是我无法在$gisdb
命令中使用CREATE DATABASE
参数获得正确的值。还有其他方法吗,还是我需要重新设计此命令或使用硬编码值?
根据PostgreSQL Documentation,创建数据库需要数据库名称
[CREATE DATABASE _
name _
因此,代码中的$gisdb
-是创建的数据库的名称。您可以对该名称进行硬编码,但是您应该确切知道-哪个名称是硬编码。
因为通常,其他服务取决于数据库名称。因此,请查看您的代码手册。
sudo
您可以在sudo
命令之前省略docker
。只需将当前用户添加到docker
组:
usermod -aG docker $USER
然后,登录后,您可以在没有docker
的情况下运行sudo