I need some help with my script.
I have environmental variables like these:
SECRET_OF_AN_APP_dev=123 SECRET_OF_AN_APP_test=456 SECRET_OF_AN_APP_prod=789
I want to have a script that will change SECRET_OF_AN_APP_dev=123 to SECRET_OF_AN_APP=123 and export it into env in first iteration, then SECRET_OF_AN_APP_test=456 change to SECRET_OF_AN_APP=456 in second iteration etc.
#!/bin/bash APP_SECRET=SECRET_OF_AN_APP ENVIRONMENT_NAME=dev LIST_OF_ENVIRONMENTS=[dev, prod, test...] for i in $LIST_OF_ENVIRONMENTS do APP_SECRET=$(env | grep APP_SECRET_$i | sed 's/APP_SECRET_'"$i"'=//g' ) >> var.bash . ./var.bash ./some_script_where_$APP_SECRET_is_required.sh done
I think my script is working in something like a subshell because when I do:
echo $SECRET_OF_AN_APP, it's blank.
I need to have it set because other scripts which are executing in this loop need those variables.
I tried with
set -o allexport, etc.
Nothing is working.
I need to have "echo $SECRET_OF_AN_APP" in my shell, not only script. It's working in script. but it's not set in my environmental variables.