首页 > 解决方案 > 在Windows中使用Shell时,如何解决“sh:D:/DevTools/Git/root/restart_all.sh: No such file or directory”?

问题描述

我在 mac 上编写了一个 shell 脚本文件来部署一些 docker 应用程序。但是当我将它复制到Windows10时,它似乎无法正常运行。

"docker exec xx /foo/bar" 后面的路径在windows中总是转成绝对路径,导致报错:"sh: D:/DevTools/Git/root/start_zk.sh: No such file or directory ”。

更重要的是,在powershell或git bash中执行“docker exec xx /foo/bar”时,可以正常运行。仅当我将其写入文件并通过“sh deploy.sh”运行时才会出现此问题。

我试图在“/”之前添加“\”,但它没有帮助。我的代码在下面列出。

echo "deploying zookeepers..."
docker exec ac sh /root/start_zk.sh

我的脚本有问题吗?“docker exec”后面的命令“sh /root/start_zk.sh”应该是docker容器执行的参数,但好像被windows识别为命令或路径。有没有办法解决这个问题?

标签: windowsbashshellpowershelldocker

解决方案


推荐阅读