我使用控制台作为管理mercurial存储库的工具。经典 cmd 或控制台2 我输入:
hg in
控制台提示类似:
D:\workspace\someproject>hg in
http authorization required
realm: Bitbucket.org HTTP
user: xorty
password:
显然,我输入密码。
但是当我在powershell控制台中键入“hg in”时,它不会提示任何内容。它只是这样说:
Running script / selection. Press Ctrl + Break to stop
我可以让PowerShell ISE像经典控制台一样运行,或者这不是PowerShell的工作方式吗?
答案 0 :(得分:14)
PowerShell ISE确实是does not support console applications that require interactive input。链接的博客条目详细说明了如何处理该问题。
由于PowerShell ISE不是控制台,普通的控制台应用程序无法完成他们习惯的所有操作,当然PowerShell cmdlet可以正常工作,因为有些东西依赖于PowerShell主机应用程序(你得到一个图形提示例如,使用Read-Host。
Console2通过将实际控制台保持在隐藏窗口中并重复轮询它以进行更改并相应地将输入发送到该窗口来模拟普通控制台。
答案 1 :(得分:4)
Powershell ISE(集成脚本环境)不是标准的Powershell控制台。 ISE,顾名思义,是一个非常基本的基于GUI的脚本编写工具,不支持交互式控制台应用程序(在ISE控制台上只试用cmd
并查看错误消息)
打开powershell.exe,然后运行所需的命令。它的行为非常像cmd。或者,在ISE中按 CTRL + SHIFT + P 并在那里运行命令。