Можем ли мы передать переменную gitlab с несколькими элементами в сценарий оболочки

# #gitlab #gitlab-ci

Вопрос:

У меня есть переменная gitlab, как показано ниже:

REGIONS: us-east-1 us-west-2 eu-central-1

Я хочу передать эту переменную gitlab в сценарий оболочки. Но когда я передаю его в скрипт, он извлекает только первый элемент, а остальные игнорируются. Код, используемый для передачи переменной, является: test.sh $REGIONS

Неужели это невозможно передать таким образом или для этого есть способ? Пожалуйста, помогите.

Комментарии:

1. Предполагается us-east-1 us-west-2 eu-central-1 , что в коллекции должно быть три отдельных значения или одно длинное значение?

2. @Daly: В сценарии он будет проходить по каждому региону. Если я напрямую закодирую это в коде, это сработает.

3. Попробуйте заключить значение в кавычки

Ответ №1:

Если REGIONS="us-east-1 us-west-2 eu-central-1" , то звоню

 test.sh $REGIONS
 

означает, что

  • us-east-1 будет присвоен первый позиционный параметр $1
  • us-west-2 будет присвоено $2
  • eu-central-1 будет присвоено $3

Все переменные можно использовать $@ , но более простым решением было бы указать переменную:

 test.sh "$REGIONS"
 

В этом случае $1 будет содержаться us-east-1 us-west-2 eu-central-1