배경
저는 Terraform과 cloud-init를 사용하여 Ubuntu VM을 프로비저닝하고 있습니다.
Terraform 템플릿에는 bash 스크립트 작성 지침이 user_data
포함된 cloud-init 섹션이 포함되어 있습니다. write_file
계층 구조는 다음과 같습니다.
- 지형 템플릿
- 클라우드 초기화 사용자 데이터
- 콘텐츠 작성
- 배쉬 스크립트
- 콘텐츠 작성
- 클라우드 초기화 사용자 데이터
Bash 스크립트에는 다음 기능이 있습니다
mkcd() {
mkdir -p "${1}"
cd "${1}"
}
문제 및 질문
파일이 VM 내부에 기록되면 다음과 같습니다.
mkcd() {
mkdir -p "1"
cd "1"
}
${1}
only 로 대체되었습니다 1
. 원하는 동작은 Terraform 템플릿에 나타나는 것과 똑같이 작성된 파일에 함수가 나타나도록 하는 것입니다.
이와 같이 작성된 파일에 함수를 표시하려면 어떻게 해야 합니까? :
mkcd() {
mkdir -p "${1}"
cd "${1}"
}
문제 해결
나는 또한 이것을 시도했습니다 :
mkcd() {
mkdir -p "$\{1}"
cd "$\{1}"
}
파일은 표시된 대로 정확하게 작성되지만 백슬래시는 유지됩니다.