Как я могу получить значение переменной bash, если у меня есть имя переменной в виде строки?
var1="this is the real value"
a="var1"
Do something to get value of var1 just using variable a.
Контекст:
У меня есть несколько AMI ( Образ машины Amazon ), и я хочу запустить несколько экземпляров каждого AMI. Как только они закончат загрузку, я хочу настроить каждый экземпляр в соответствии с его типом AMI. Я не хочу запекать множество скриптов или секретных ключей внутри любого AMI, поэтому я подготовил обобщенный скрипт запуска и поместил его на S3 с общедоступной ссылкой. В rc.local я поместил небольшой фрагмент кода, который выбирает сценарий запуска и выполняет его. Это все, что у меня есть в AMI. Затем каждый AMI получает доступ к общему сценарию конфигурации, который применим ко всем AMI и специальным сценариям настройки для каждого из них. Эти сценарии являются частными и требуют подписанного URL для доступа к ним.
Итак, теперь, когда я запускаю экземпляр AMI (my_private_ami_1), я передаю подписанный URL-адрес для еще одного файла, представленного на S3, который содержит подписанный URL-адрес для всех частных сценариев с точки зрения пары ключ / значение.
config_url="http://s3.amazo.../config?signature"
my_private_ami_1="http://s3.amazo.../ami_1?signature"
...
Когда запускается скрипт запуска, он загружает вышеуказанный файл и
source
. Затем он проверяет свой тип AMI и выбирает для себя правильный скрипт установки.
ami\_type=GET AMI TYPE #ex: sets ami\_type to my\_private\_ami\_1
setup\_url=GET THE SETUP FILE URL BASED ON AMI\_TYPE # this is where this problem arises
Так что теперь я могу иметь общий код, который может запускать экземпляры независимо от их типов AMI, а экземпляры могут позаботиться о себе.