首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头商$(pwd)及bash别名

码头商$(pwd)及bash别名
EN

Stack Overflow用户
提问于 2017-05-30 10:18:15
回答 2查看 12.2K关注 0票数 3

我在Ubuntu16.04运行Docker。我为高聚物制作了一个码头形象。这样做的目的是能够使用bash别名从一次性码头容器中运行聚合命令,该别名安装当前目录,运行命令,然后销毁容器,如下所示:

代码语言:javascript
复制
docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer

这很好,但是如果我为这个命令创建一个bash别名:

代码语言:javascript
复制
alias polymer="docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer "

然后$(pwd)指向我的主目录而不是我的当前目录。

有人知道我怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-30 10:22:20

问题是,由于您使用了双引号,命令替换是在alias声明时完成的,而不是在之后进行的。

使用单引号:

代码语言:javascript
复制
alias polymer='docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer'

另外,不使用命令替换,$(pwd)可以使用环境变量PWD,它将扩展到与pwd相同的值。实际上,pwd命令还从PWD变量中获取其值。

票数 12
EN

Stack Overflow用户

发布于 2020-07-07 08:02:06

我只想分享一下,对于那些对Windows上的$PWD有问题的人来说,因为它会显示为空,所以我的TL为所有平台提供了很好的解决方案:

docker -rm -it -v ${PWD:-}:/home/ node /app -u节点新鲜/聚合物-cli聚合物

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44259515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档