#bash #shell
#bash #оболочка
Вопрос:
Я работаю над случаем, когда мне нужно извлечь переменную среды и передать ее функции в скрипте bash.
#!/usr/bin/env bash
algorithm_settings=(env1 env2 env3 env4)
cnt=${#algorithm_settings[@]}
for ((i=0;i<cnt;i )); do
printf '%sn' "${algorithm_settings[i]}"
done
Это выводит:
env1
env2
env3
env4
Я установил значение env1 как export env1=1.0.1
Я получаю значение env1
с помощью команды printenv env1
Как мне сохранить это значение (1.0.1) в переменной?
Комментарии:
1.
variable="${!algorithm_settings[0]}"
?2. Я предлагаю:
algorithm_settings=("$env1" "$env2" "$env3" "$env4")
3.
algorithm_settings
в моем случае массив @Cyrus используется в нескольких местах. Я использую ее как пару ключ: значение, где ключ соответствует имени переменной среды, а значение — значению, хранящемуся в этой переменной среды.