【发布时间】:2017-07-03 14:25:49
【问题描述】:
我对 bash/shell 脚本世界很陌生,我正在尝试执行以下操作,它可能非常简单,但我无法弄清楚命令,如果有人可以帮助我,那就太好了在这里,还向我指出一些关于 shell 脚本主题的文档。提前谢谢你。
我的 build.sh 和 Dockerfile 位于名为 .settings 的文件夹下,该文件夹直接位于应用根目录下。现在,当我引用 $(pwd) 或 COPY 之类的内容时,在我的 build.sh 和 Dockerfile 中。 /apps/ 它可能不起作用,因为我的 build.sh 和 Dockerfile 不直接位于应用根目录下。
在我上面引用的文件中,我可以在这种情况下使用什么命令。希望我说清楚了。再一次,这可能非常简单,因为我是这个领域的新手,我觉得有点困难。
inside build.sh, reference to $(pwd)
docker run \
-u root \
--rm \
-v $(pwd):/app \ ----> this $(pwd) references the application root, but if I
move this build.sh inside a folder called .settings then the $(pwd) context
would change and I still want to refer it to the root.
<MYIMAGE NAME FROM LOCAL REPO>
【问题讨论】:
-
我不确定我是否完全理解您的问题,但
echo "${PWD%/*}"是否给您想要的?如果您位于文件系统的根目录,它将无法工作:) -
所以我只是想实现以下目标,在上面的示例中,$(PWD) 将记录 /app/.settings 并且我想从此上下文更改对 root 的引用跨度>