Windows PowerShell ISE не запрашивает ввод - PullRequest
11 голосов
/ 01 декабря 2011

Я использую консоль в качестве инструмента для управления ртутными репозиториями. С классическим cmd или Консоль2 Я печатаю:

hg in

И консоль предлагает что-то вроде:

D:\workspace\someproject>hg in
http authorization required
realm: Bitbucket.org HTTP
user: xorty
password:

И, очевидно, я ввожу пароль.

Но когда я набираю "hg in" в консоли powershell, это ничего не подсказывает. Это просто продолжает говорить это: Running script / selection. Press Ctrl + Break to stop

Могу ли я заставить PowerShell ISE вести себя как классическая консоль, или PowerShell работает не так?

Ответы [ 2 ]

14 голосов
/ 01 декабря 2011

PowerShell ISE действительно не поддерживает консольные приложения, для которых требуется интерактивный ввод . Связанная запись в блоге подробно описывает, как с этим справиться.

Поскольку PowerShell ISE не является консолью, обычные консольные приложения не могут делать все, к чему они привыкли, в то время как командлеты PowerShell могут работать просто отлично, поскольку некоторые вещи зависят от хост-приложения PowerShell (вы получаете графическое приглашение с помощью Read-Host, например).

Console2 эмулирует обычную консоль, сохраняя фактическую консоль в скрытом окне и неоднократно опрашивая ее на предмет изменений и, соответственно, отправляя ввод в это окно.

4 голосов
/ 01 декабря 2011

Powershell ISE (интегрированная среда сценариев) не является стандартной консолью Powershell.ISE, как следует из названия, является довольно простым инструментом написания сценариев на основе графического интерфейса и не поддерживает приложения интерактивной консоли (попробуйте просто cmd на консоли ISE и посмотрите сообщение об ошибке)

Откройте powershell.exe, и запустите команду, которую вы хотите.Он будет вести себя почти как cmd.Или, альтернативно, нажмите CTRL + SHIFT + P в ISE и выполните команду там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...