背景
私は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}"
}
ファイルは示されているとおりに正確に作成されますが、バックスラッシュは保持されます。