我知道你可以像这样使用<package name>-<version>来安装一个yum包的特定版本:
yum install docker-engine-1.8.2
但我试图使用一个环境variables来定制这个,如果它被设置,我们使用该版本,否则我们使用最新的。 是否有某种像“最新”的伪版本号码可以工作?
yum install docker-engine-${DOCKER_VERSION:-latest}
显然,使用“最新”将不起作用,但有什么相同的东西? 通常我会在这里使用一个if条件,但这实际上是Dockerfile中的一行而不是一个shell脚本,所以它的function相当有限。
我发现$ {VAR:+ …}会让你使用“…”,如果var被设置,否则它将是空的。 所以使用$ {VAR:-…}给我什么我要找的:
yum install docker${DOCKER_VERSION:+-}${DOCKER_VERSION}
所以如果将DOCKER_VERSION设置为“1.8.2”,将如下所示:
yum install docker-1.8.2
如果没有设置,它会看起来像
yum install docker