当我尝试启动脚本时,它会打开然后立即关闭

时间:2013-01-11 23:07:45

标签: windows command-prompt

我正在尝试制作一个简单的ruby脚本。但是,当我运行它时,命令行打开,几乎立即关闭。我在Visual Basic控制台应用程序中遇到了同样的问题,所以我不确定这是否是命令提示符的问题。

我使用Ruby 1.9.3运行Windows 8。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

这是在Windows上开发命令行应用程序时的常见症状,尤其是在使用IDE时。

解决问题的正确方法是手动打开命令行提示符或PowerShell,导航到程序所在的目录并通过命令行手动执行:

ruby your_program.rb

这就是命令行程序从一开始就被设计为执行的方式。当您从IDE运行代码时,它会打开一个终端并告诉它执行您的程序。但是,一旦你的程序执行完毕,终端就无所事事就会关闭。

但是,如果打开终端,那么告诉它该做什么,而不是IDE,因此终端期待你的更多输入该计划已经完成。它没有关闭,因为没有告诉它关闭。

您还可以在Ruby脚本的末尾使用此解决方法:

gets

这将从标准输入读取一行并丢弃它。它会阻止你的程序,以及终端,直到你按下返回为止。

类似的解决方法可以用于任何语言,例如C和C ++,但我不认为它们正在解决实际问题。

但是,请不要让此气馁!在您学习的过程中随意使用gets。这是一个非常方便的解决方法,您应该使用它。

请注意,这些类型的黑客不应该出现在生产代码中。

答案 1 :(得分:1)

您是从命令行运行还是作为可执行文件运行。尝试在末尾放置一个忙循环以查看输出或等待键盘输入。如果在命令行之外运行,命令行将在脚本完成后退出。