Bagaimana saya bisa mengambil nilai variabel bash jika saya memiliki nama variabel sebagai string?
var1="this is the real value"
a="var1"
Do something to get value of var1 just using variable a.
Konteks:
Saya memiliki beberapa AMI ( Amazon Machine Image ) dan saya ingin menjalankan beberapa contoh dari setiap AMI. Segera setelah mereka selesai boot, saya ingin mengatur setiap instance sesuai dengan jenis AMI-nya. Saya tidak ingin memanggang banyak skrip atau kunci rahasia di dalam AMI apa pun, jadi saya menyiapkan skrip startup umum dan saya menaruhnya di S3 dengan tautan yang dapat diakses publik. Di rc.local saya meletakkan sepotong kecil kode yang mengambil skrip startup dan menjalankannya. Ini semua yang saya miliki di AMI. Kemudian setiap AMI mengakses skrip konfigurasi umum yang berlaku untuk semua AMI dan skrip pengaturan khusus untuk masing-masing. Skrip ini bersifat pribadi dan memerlukan URL yang ditandatangani untuk mengaksesnya.
Jadi sekarang, ketika saya memunculkan instance AMI (my_private_ami_1), saya meneruskan URL yang ditandatangani untuk satu file lagi yang disajikan pada S3 yang berisi URL yang ditandatangani untuk semua skrip pribadi dalam hal pasangan kunci / nilai.
config_url="http://s3.amazo.../config?signature"
my_private_ami_1="http://s3.amazo.../ami_1?signature"
...
Ketika skrip startup berjalan, itu mengunduh file di atas dan source
itu. Kemudian ia memeriksa jenis AMI-nya dan memilih skrip pengaturan yang benar untuk dirinya sendiri.
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
Jadi sekarang saya dapat memiliki kode generik yang dapat mem-instance instans terlepas dari tipe AMI mereka dan instans dapat mengatur sendiri.
Bad substitution
error.