Как я могу получить значение переменной 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, поэтому я подготовил общий сценарий запуска и поместил его на 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, а экземпляры могут сами о себе позаботиться.
Bad substitution
ошибку.