변수 이름이 문자열 인 경우 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)를 시작하면 S3에 표시되는 하나 이상의 파일에 대해 서명 된 URL을 전달합니다.이 파일에는 모든 개인 스크립트에 대한 서명 된 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
오류가 발생합니다.