.bat 脚本在执行 AWS Auto Scaling 命令之前终止
Posted
技术标签:
【中文标题】.bat 脚本在执行 AWS Auto Scaling 命令之前终止【英文标题】:.bat Script Terminating Before AWS Auto Scaling Commands Executed 【发布时间】:2013-05-18 04:20:45 【问题描述】:我对 Amazon Cloud Auto Scaling(以及 AWS)还很陌生。
我目前正在尝试编写一个 .bat 脚本,该脚本将自动创建一个启动配置,然后是一个自动缩放器。目标是获得大约一周前由同事设置的图像。
我遇到的问题是,当我运行脚本时,没有执行启动配置命令之后的命令。
代码在这里:
echo Beginning Auto Scale Up Process
REM Create a launch config
as-create-launch-config --image-id ami-xxxxxxx --instance-type t1.micro --user-data "Created by Launch Config reportingServerScaleUp-lc" --launch-config reportingServerScaleUp-lc
echo Timer Complete
我正在寻找帮助我调试此问题的建议。或有关如何解决它的建议。在“回声计时器完成”之后,我有一个创建自动缩放器的命令。但是,甚至没有执行“回声计时器完成”。控制台确实返回表明启动配置已创建:)
另外,当我在命令行中按顺序输入每个命令时,每个命令都能完美执行。启动配置与自动缩放组一样创建。
【问题讨论】:
也许as-create-launch-config
以某种方式触发了exit
。如果在该行前面加上 cmd.exe
以在另一个 shell 中启动它,有什么区别吗?
你是对的,朋友。我刚刚在答案中添加了我的修复。我为每个 aws 命令添加了“调用”。
【参考方案1】:
事实证明,AWS 命令调用 exit 过早地退出了 .bat 脚本。
在每个 AWS 命令前加上“call”就可以了。
我在这个问题中找到了建议:Why does only the first line of this Windows batch file execute but all three lines execute in a command shell?
【讨论】:
以上是关于.bat 脚本在执行 AWS Auto Scaling 命令之前终止的主要内容,如果未能解决你的问题,请参考以下文章
如何在windows bat脚本中调用Cygwin并执行命令