【发布时间】:2020-03-24 12:44:51
【问题描述】:
我有这个脚本,其中包含一些命令,例如:
sudo docker exec $container psql -U postgres -c "CREATE DATABASE $gisdb ;"
$container 参数没有问题,但我无法在CREATE DATABASE 命令中使用$gisdb 参数读取正确的值。是否有可能以其他方式或我需要重新设计此命令或使用硬编码值?
【问题讨论】:
-
$gisdb 变量分配了什么值?命令是否失败?如果不是,数据库是用什么名称创建的?
-
最好不要对值进行硬编码。在脚本中,在 sudo 行之前,您可以将变量转储到您的某个日志文件中,例如 date >>yourlogfile ; env >>yourlogfile 并审查它们。
-
在这种特定情况下,名称也是 gisdb,但我想参数化脚本,所以我只需要在运行新的或其他目的时更改脚本顶部的参数值(当然是 postgresql 明智的) ....
标签: docker parameter-passing psql