我在Ubuntu16.04运行Docker。我为高聚物制作了一个码头形象。这样做的目的是能够使用bash别名从一次性码头容器中运行聚合命令,该别名安装当前目录,运行命令,然后销毁容器,如下所示:
docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer这很好,但是如果我为这个命令创建一个bash别名:
alias polymer="docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer "然后$(pwd)指向我的主目录而不是我的当前目录。
有人知道我怎么解决这个问题吗?
发布于 2017-05-30 10:22:20
问题是,由于您使用了双引号,命令替换是在alias声明时完成的,而不是在之后进行的。
使用单引号:
alias polymer='docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer'另外,不使用命令替换,$(pwd)可以使用环境变量PWD,它将扩展到与pwd相同的值。实际上,pwd命令还从PWD变量中获取其值。
发布于 2020-07-07 08:02:06
我只想分享一下,对于那些对Windows上的$PWD有问题的人来说,因为它会显示为空,所以我的TL为所有平台提供了很好的解决方案:
docker -rm -it -v ${PWD:-}:/home/ node /app -u节点新鲜/聚合物-cli聚合物
https://stackoverflow.com/questions/44259515
复制相似问题