Shopware 6:Git Bash脚本中Docker exec chown报错"无此文件或目录"
解决Windows Git Bash中Docker exec路径被转换的问题
问题出在Windows下的Git Bash会自动将Unix风格的路径转换为Windows本地路径,导致容器内的目标路径被错误解析成Git安装目录下的路径,进而让chown命令跑到主机上执行。
可以通过以下几种方式修复:
- 用单引号包裹容器内路径:让Git Bash将路径视为纯字符串,避免自动转换
docker exec -it $SHOPWARE_CONTAINER_ID sudo chown www-data '/var/www/html/custom/plugins/shopware-ai-demodata/src/Service/Generator/'
- 临时禁用路径转换:在命令前添加
MSYS_NO_PATHCONV=1环境变量,关闭当前命令的路径转换功能
MSYS_NO_PATHCONV=1 docker exec -it $SHOPWARE_CONTAINER_ID sudo chown www-data /var/www/html/custom/plugins/shopware-ai-demodata/src/Service/Generator/
- 全局禁用脚本内的路径转换:如果脚本中有多个类似命令,可在脚本开头添加以下语句,一次性禁用整个脚本的路径转换
export MSYS_NO_PATHCONV=1
内容的提问来源于stack exchange,提问作者mlodhi
相关产品推荐
相关产品推荐

