Dynamic variable names in Bash
In Bash, dynamic variables can be created using indirect expansion.
How to create a dynamic variable name
In a CI container, there may be a need to delineate between different environment variable values using a prefix for a variable name.
1#!/bin/sh
2# In the container at runtime:
3# export PROD_TOKEN="123"
4env="PROD"
5secret="${env}_TOKEN"
6echo ${!secret}Output:
1123In the example above, the secret value is PROD_TOKEN after expansion. Using indirect expansion, ${!secret} references 123.