Установите конкретную версию yum pacakge или установите последнюю версию по умолчанию через переменную среды

Я знаю, что вы можете установить конкретная версия пакета yum с использованием <имя пакета> - <версия> , например:

yum install docker-engine-1.8.2

Но я пытаюсь настроить это с помощью переменной среды, чтобы, если она установлена, мы использовали эту версию , иначе мы используем последнюю версию. Есть ли какой-то псевдо-номер версии, такой как «последняя», который будет работать?

yum install docker-engine-${DOCKER_VERSION:-latest}

Очевидно, что использование «последней» не будет работать, но есть ли что-то эквивалентное? Обычно я бы просто использовал здесь условное if, но на самом деле это строка в Dockerfile, а не сценарий оболочки, поэтому он довольно ограничен в своих возможностях.

0
задан 27 January 2016 в 21:53
1 ответ

Я обнаружил, что ${VAR:+...} позволит вам использовать "...", если var установлен, иначе он будет пустым. Так что использование ${VAR:-...} дает мне то, что я ищу:

 yum install docker${DOCKER_VERSION:+-}${DOCKER_VERSION}

так что если DOCKER_VERSION установлен на "1.8.2" будет выглядеть как:

yum install docker-1.8.2

И если он не установлен, он будет выглядеть как

yum install docker
2
ответ дан 4 December 2019 в 13:43

Теги

Похожие вопросы