Comment récupérer la valeur d'une variable bash si le nom de la variable est une chaîne de caractères ?
var1="this is the real value"
a="var1"
Do something to get value of var1 just using variable a.
Contexte :
J'ai quelques AMI ( Image de la machine Amazon ) et je veux lancer quelques instances de chaque AMI. Dès que le démarrage est terminé, je veux configurer chaque instance en fonction de son type d'AMI. Je ne veux pas intégrer beaucoup de scripts ou de clés secrètes dans une AMI, j'ai donc préparé un scripts de démarrage généralisé et je l'ai placé dans le fichier S3 avec un lien accessible au public. Dans rc.local, je place un petit morceau de code qui récupère le script de démarrage et l'exécute. C'est tout ce que j'ai dans les AMI. Ensuite, chaque AMI accède à une configuration commune script qui s'applique à toutes les AMI et à des script spéciaux pour chacune d'entre elles. Ces script sont privés et nécessitent une URL signée pour y accéder.
Ainsi, lorsque je lance une instance d'une AMI (my_private_ami_1), je transmets une URL signée pour un autre fichier présenté sur S3 qui contient l'URL signée pour tous les scripts privés en termes de paires clé/valeur.
config_url="http://s3.amazo.../config?signature"
my_private_ami_1="http://s3.amazo.../ami_1?signature"
...
Lorsque le script de démarrage s'exécute, il télécharge le fichier ci-dessus et source
c'est cela. Ensuite, il vérifie son type d'AMI et choisit la bonne configuration script pour lui-même.
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
J'ai donc maintenant un code générique qui peut déclencher des instances indépendamment de leur type d'AMI et les instances peuvent s'occuper d'elles-mêmes.