Jak mogę pobrać wartość zmiennej bash, jeśli mam nazwę zmiennej jako ciąg?
var1="this is the real value"
a="var1"
Do something to get value of var1 just using variable a.
Kontekst:
Mam kilka AMI ( Amazon Machine Image ) i chcę odpalić kilka instancji każdego AMI. Gdy tylko zakończą ładowanie, chcę skonfigurować każdą instancję zgodnie z jej typem AMI. Nie chcę piec wielu skryptów ani tajnych kluczy w żadnym AMI, więc przygotowałem uogólniony skrypt startowy i umieściłem go na S3 z publicznie dostępnym linkiem. W rc.local umieściłem mały fragment kodu, który pobiera skrypt startowy i wykonuje go. To wszystko, co mam w AMI. Następnie każdy AMI uzyskuje dostęp do wspólnego skryptu konfiguracyjnego, który ma zastosowanie do wszystkich AMI i specjalnych skryptów instalacyjnych dla każdego. Te skrypty są prywatne i wymagają podpisanego adresu URL, aby uzyskać do nich dostęp.
Tak więc teraz, kiedy uruchamiam instancję AMI (my_private_ami_1), przekazuję podpisany adres URL dla jeszcze jednego pliku prezentowanego na S3, który zawiera podpisany adres URL dla wszystkich prywatnych skryptów pod względem pary klucz / wartość.
config_url="http://s3.amazo.../config?signature"
my_private_ami_1="http://s3.amazo.../ami_1?signature"
...
Po uruchomieniu skryptu startowego pobiera powyższy plik i source
to wszystko. Następnie sprawdza typ AMI i wybiera dla siebie poprawny skrypt instalacyjny.
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
Więc teraz mogę mieć ogólny kod, który może uruchamiać instancje niezależnie od ich typów AMI, a instancje mogą same o siebie zadbać.
Bad substitution
błąd.