Come posso recuperare un valore della variabile bash se ho il nome della variabile come stringa?
var1="this is the real value"
a="var1"
Do something to get value of var1 just using variable a.
Contesto:
Ho alcune AMI ( Amazon Machine Image ) e voglio avviare alcune istanze di ciascuna AMI. Non appena termina l'avvio, voglio impostare ciascuna istanza in base al suo tipo AMI. Non voglio creare molti script o chiavi segrete all'interno di qualsiasi AMI, quindi ho preparato uno script di avvio generalizzato e l'ho messo su S3 con un link accessibile pubblicamente. In rc.local ho messo un piccolo pezzo di codice che recupera lo script di avvio ed lo esegue. Questo è tutto ciò che ho nelle AMI. Quindi ogni AMI accede a uno script di configurazione comune che è applicabile a tutte le AMI e script di installazione speciali per ciascuno. Questi script sono privati e richiedono un URL firmato per accedervi.
Quindi ora, quando eseguo un'istanza di un AMI (my_private_ami_1), passo un URL firmato per un altro file presentato su S3 che contiene un URL firmato per tutti gli script privati in termini di coppia chiave / valore.
config_url="http://s3.amazo.../config?signature"
my_private_ami_1="http://s3.amazo.../ami_1?signature"
...
Quando viene eseguito lo script di avvio, scarica il file sopra e source
lo è. Quindi controlla il suo tipo di AMI e seleziona da solo lo script di installazione corretto.
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
Quindi ora posso avere un codice generico che può generare istanze indipendentemente dai loro tipi di AMI e le istanze possono prendersi cura di se stesse.
Bad substitution
errore.