.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 命令之前终止的主要内容,如果未能解决你的问题,请参考以下文章

Perl 脚本不等待 .bat 文件完成并继续执行

批处理运行Python脚本

如何让bat脚本循环执行?

如何在windows bat脚本中调用Cygwin并执行命令

求问 BAT脚本如何自动执行 adb shell 以后的命令

求一个bat脚本,判断一条命令执行的返回结果