2

我有 bash 脚本,我从 Windows 中的 powershell 运行,它执行for循环。每隔一段时间,一个循环迭代就会挂起,直到我按键盘上的 Enter 键。
这不会一直发生,事实上,它很少发生,但它仍然会发生。

有趣的是,我的循环内部基本上是time _command_这样,所以在我按 Enter 后,它会告诉我命令运行了多长时间。该命令的执行时间实际上比循环迭代花费的时间要少得多——因为它出于某种奇怪的原因等待键盘输入。

让脚本在一夜之间运行并在早上回来发现它并没有走多远,这很烦人。

有人知道为什么会发生这种情况以及如何解决它吗?

谢谢,jbu

4

3 回答 3

5

我多次遇到同样的问题。现在我想我找到了原因!

如果您在 powershell 中按下鼠标,它可能会卡住并需要用户按“enter”才能继续。因此,解决方法是确保您在运行某个程序时不会在 shell 窗口中意外按下鼠标...

于 2011-10-08T22:58:36.807 回答
0

在您发布脚本之前,我们几乎无能为力。

但是,一般来说,您的一个命令可能偶尔会返回一个 null 作为另一个命令的标准输入的输入,当看到 null 时,该命令会将终端视为标准输入。或类似的规定。

于 2010-01-28T22:59:35.880 回答
0

转到 powershell 属性并取消'Quick Edit'/'Insert'选中复选框。如果选择了这些,控制台会暂停输出并仅在按下 Enter 键时恢复(您可以通过监视控制台标题栏来识别这一点 - 它将从 切换"Administrator:Windows PowerShell""Select Administrator:Windows Powershell"

于 2015-10-21T13:39:13.050 回答