Как запустить оболочки вроде 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.
Что случилось?
1 ответ
Проблема в том, что Powershell ISE не похож на обычную консоль Powershell. Powershell ISE - это хост, построенный на WPF, в котором некоторые устаревшие команды exe работают неправильно в ISE. Обычно это интерактивные команды exe, а не только sqlite3.exe. Например у меня были проблемы с logparser.exe в ISE также.
Попробуйте запустить его в poweshell.exe