Как запускать оболочки, такие как SQLite, из PowerShell ISE?

Я хочу кое-что сделать с sqlite3.exe, оболочкой командной строки sqlite3. После перехода к каталогу в PowerShell ISE я запускаю программу с помощью .\sqlite3.exe и получаю ожидаемый результат от SQLite:

___________________________________________________________
PS [path]\SQLite shell> .\sqlite3.exe
SQLite version 3.7.14 2012-09-03 15:42:36
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

Однако, если я попытаюсь ввести .help после этой или любой другой команды в этом отношении, ничего не произойдет, и на нижней панели задач появится сообщение «Уже выполняется команда. Пожалуйста, подождите». Конечно, ждать нечего, потому что sqlite3.exe явно ждет ввода от меня.

Я не могу заставить PowerShell ISE отвечать на дальнейшие команды после этого момента, пока не выйду из SQLite с помощью Ctrl+Break.

Что случилось?


person Superbest    schedule 10.09.2012    source источник


Ответы (1)


Проблема в том, что Powershell ISE не похожа на обычную консоль Powershell. Powershell ISE — это хост, построенный на WPF, в котором вы обнаружите, что некоторые устаревшие exe-команды работают неправильно в ISE. Обычно это интерактивные команды exe, а не только sqlite3.exe. Например, у меня также были проблемы с logparser.exe в ISE.

Попробуйте запустить его в poweshell.exe

person Chad Miller    schedule 11.09.2012
comment
Я уже смог запустить его в powershell.exe (или cmd.exe, если на то пошло), но основным преимуществом ISE для меня являются согласованные функции копирования / вставки и горячие клавиши, а также лучшее поведение консоли вывода. Итак, я буду считать ваш ответ означающим, что то, что я хочу сделать (а именно, использовать sqlite3.exe в чем-то, что не является терминалом Windows в стиле cmd), невозможно? - person Superbest; 12.09.2012
comment
Это верно, некоторые консольные приложения и, в частности, интерактивные консольные приложения, такие как sqllite3.exe, не будут работать в Powershell ISE, но будут нормально работать в Powershell.exe. - person Chad Miller; 12.09.2012