2017-05-30 67 views
3

我在Ubuntu 16.04中運行Docker CE。我爲聚合物創建了一個Docker鏡像。 的想法是能夠從使用bash別名安裝在當前目錄一次性搬運工容器內運行聚合物的命令,運行命令,然後破壞容器,就像這樣:

docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer 

這工作perfectlty,但如果我創建一個bash別名這個命令:

alias polymer="docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer " 

然後$(PWD)指向我的主目錄,而不是我的當前目錄。

任何人都知道我可以如何解決這個問題?

回答

3

問題在於,因爲您使用了雙引號,所以在alias聲明時,命令替換正在完成,而不是之後。

使用單引號:

alias polymer='docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer' 

此外,而不是使用命令替換,$(pwd)可以使用可變PWD環境,這將擴大到相同的值pwd。實際上,pwd命令也從PWD變量中獲得它的值。

+0

感謝您的回答。它工作完美。 –