Shopware 6:如何在 Git Bash 中使用 Docker exec 设置布尔配置值

Shopware 6: How to set boolean config values with Docker exec in Git Bash

提问人:mlodhi 提问时间:11/15/2023 更新时间:11/18/2023 访问量:45

问:

我在 Windows Git Bash 上运行一个 Bash 脚本,该脚本使用 docker exec 在我的 Shopware 容器中设置配置值:

docker exec -d $SHOPWARE_CONTAINER_ID php bin/console system:config:set $PLUGIN_NAME.config.active true

但是我收到一个错误,即配置值必须是布尔值,而不是字符串。 似乎从 Bash 传递“true”将其设置为字符串,而它需要是一个适当的布尔值。如何使用 docker exec 从 Bash 脚本正确设置布尔配置值?true/false

git-bash shopware6 docker-exec

评论

0赞 Hans Kilian 11/15/2023
这似乎是同一个问题:github.com/shopware/shopware/issues/2207 问题已关闭,但我不确定解决方案是什么。

答:

2赞 3ximus 11/15/2023 #1

此提交 https://github.com/shopware/shopware/pull/2209/commits/e4d49e20248be3e770860297417ef5a87b7fb686#diff-a041d80e81de3a24e5d1b155454509b67b3c5c0d72732b311a00aa47fccefbe1R33 上似乎添加了一个解码选项

它允许将输入值解释为 JSON,从而转换为布尔值。我相信它可以像这样使用或--decode-d

评论

0赞 mlodhi 11/16/2023
感谢您的回复,我应该在哪里添加我的命令?--decode
0赞 3ximus 11/16/2023
我相信它应该在整行之后工作,如下所示:docker exec -d $SHOPWARE_CONTAINER_ID php bin/console system:config:set $PLUGIN_NAME.config.active true --decode
0赞 3ximus 11/17/2023
让我知道它是否适合您
1赞 mlodhi 11/18/2023
这是行不通的。
2赞 mlodhi 11/18/2023 #2

我通过使用 -j (-json) 将 解码为 bool 解决了这个问题。true

docker exec  $SHOPWARE_CONTAINER_ID php bin/console system:config:set -j $PLUGIN_NAME.config.active true