相当于powershell中的bash“expect”

时间:2011-10-17 22:30:32

标签: scripting powershell

我正在使用powershell运行另一个PowerShell脚本,在某些时候另一个脚本要求输入,我希望能够从其他脚本读取输出并根据它的输入输入。与您在bash上所期望的相似。

有什么想法吗?

由于

4 个答案:

答案 0 :(得分:0)

我不知道任何本机能够复制精确。这个问题有一个答案,声称能够将内容传递到进程或从进程传递内容,因此它可能适用于您想要的内容。

How to run interactive commands in another application window from powershell

祝你好运!

答案 1 :(得分:0)

您只需在您的powershell中使用Expect程序。有用。 Powershell也是一个shell,你可以运行powershell编写的代码,它调用bash代码,再次调用powershell。

贝娄是一个考验,它通过了。

storyboard

让我解释一下这个测试。

  1. 创建一个期望输入的bash文件。
  2. 创建一个调用第一步中创建的bash的tcl文件。
  3. 从powershell调用tcl程序,它可以工作,不会等待输入。

答案 2 :(得分:0)

只需发布我的解决方案,以便它可以帮助某人。我在运行其他需要答案的脚本时遇到了同样的问题。首先创建一个文件" inputFileLocation.txt"按顺序回答每一行中的每个问题。然后以下面的语法运行脚本。它将完成这项工作。

`cmd.exe /c "script.bat < inputFileLocation.txt"`

答案 3 :(得分:0)

李·福尔摩斯(Lee Holmes)于2014年在Powershell画廊名为“等待”的展览中发表了“对Powershell的期望”。事实证明,模拟期望比涉及Win32调用的要复杂得多。

包装
https://www.powershellgallery.com/packages/Await/0.8

演示
https://www.youtube.com/watch?v=tKyAVm7bXcQ