Как получить значение переменной bash, если у меня есть имя переменной как строка?
var1="this is the real value"
a="var1"
Do something to get value of var1 just using variable a.
Контекст:
У меня есть AMI (Amazon Machine Image), и я хочу запустить несколько экземпляров каждого AMI. Как только они закончат загрузку, я хочу настроить каждый экземпляр в соответствии со своим типом AMI. Я не хочу выпекать много скриптов или секретных ключей внутри AMI, поэтому я подготовил обобщенный запуск script, и я положил его на S3 с общедоступной ссылкой. В rc.local я помещаю небольшой фрагмент кода, который извлекает запуск script и выполняет его. Это все, что у меня есть в ОИМ. Затем каждый AMI обращается к общей конфигурации script, которая применима ко всем 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"
...
Когда запускается запуск script, он загружает указанный выше файл и source
его. Затем он проверяет свой тип AMI и выбирает правильную настройку script для себя.
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, и экземпляры могут позаботиться о себе.