【发布时间】:2020-12-19 01:54:42
【问题描述】:
我正在编写一个 cloudformation 脚本,它应该从 .txt 文件中选择堆栈名称、模板主体和参数文件进行部署。我不希望在新部署期间编辑 yaml 和 json 文件,而是应该编辑 .txt 文件 代码如下
aws cloudformation create-stack --stack-name $(<stack_name.txt) --template-body
file://$(<stack_template_file_name.txt) --parameters file://$(<stack_parameter_file_name.txt) capabilities "CAPABILITY_IAM" "CAPABILITY_NAMED_IAM" --region=us-west-2
注意:stack_name.txt 包含要使用的堆栈的名称,stack_template_file_name.txt 包含template.yml 文件的名称,stack_parameter_file_name.txt 包含parameter.json 文件的名称
当我直接在 cli 中键入命令时,堆栈已部署,但是当我将其复制到 create.sh 并运行 ./create.sh 时,出现以下错误
`' doesn't match a supported format.`
我该如何解决这个问题?
【问题讨论】:
-
某处有
'?您是否仔细检查了您的文件? -
调试这类事情的一个好方法是在命令前面添加
echo,看看会执行了什么。 -
@Marcin 我已经检查了两次以上的代码,但是在 bash 脚本中没有找到该字符。
-
@JohnRotenstein 命令不会一个接一个地执行,它们形成一个传递给 aws cli 的命令。也许我不明白我应该如何回应。一个例子可以帮助我调试它。
标签: amazon-web-services amazon-cloudformation aws-cli