Я пытаюсь использовать командный процессор sqlite3.exe с мятным терминалом в cygwin. Я попробовал программу от командной строки окон, и она работает. Когда я пытаюсь использовать его от cygwin мятного терминала, кажется, что программа зависает. Я вижу параметры и версию. Это - как будто это прекращает писать в терминал, когда я выполняю оболочку.
У кого-либо еще была эта проблема прежде и раз так как Вы фиксировали ее? TIA.
~>sqlite3 -help
Usage: C:\Windows\sqlite3.exe [OPTIONS] FILENAME [SQL]
FILENAME is the name of an SQLite database. A new database is created
if the file does not previously exist.
OPTIONS include:
-init filename read/process named file
-echo print commands before execution
-[no]header turn headers on or off
-bail stop after hitting an error
-interactive force interactive I/O
-batch force batch I/O
-column set output mode to 'column'
-csv set output mode to 'csv'
-html set output mode to HTML
-line set output mode to 'line'
-list set output mode to 'list'
-separator 'x' set output field separator (|)
-nullvalue 'text' set text string for NULL values
-version show SQLite version
~>sqlite3
Это - то, где это зависает. Ниже версии части соответствующего программного обеспечения.
~>uname -srv
CYGWIN_NT-6.1-WOW64 1.7.7(0.230/5/3) 2010-08-31 09:58
~>mintty --version
mintty 0.9.5
(C) 2010 Andy Koppe
~>bash -version
bash -version
GNU bash, version 4.1.9(3)-release (i686-pc-cygwin)
Copyright (C) 2009 Free Software Foundation, Inc.
Править: Когда я запускаю программу из командной строки окон работы программы. Это - то, что я должен видеть:
C:\Users\jmquigley\workspace\apis.net\sqlite>sqlite3
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .quit
Когда я выполняю команду в cygwin, это никогда не вводит оболочку; это, кажется, зависает, и я имею к CTRL + C, чтобы уничтожить его и возвратиться назад к командной строке удара.
Интерактивная non-Cygwin программа часто не работает правильно в терминалах Cygwin такой как мятный, которые основаны на псевдотерминале ("имущество") устройства. Поэтому Cygwin использует каналы Windows для эмуляции имуществ, таким образом, собственная консольная программа видит канал, где они ожидают видеть консоль. Среди других проблем, который часто заставляет их переходить к неинтерактивному режиму. Посмотрите здесь для партий больше на этом:
http://code.google.com/p/mintty/issues/detail?id=56
Вы смогли заставлять это работать терпимо с помощью -interactive
переключатель, но действительное решение должен установить версию Cygwin sqlite3 через setup.exe Cygwin.
Не уверенный я понимаю.
~>sqlite3
Это "зависает" после второго ~> sqlite3?
В той точке Вы больше не работаете, sqlite3 - Вы? Это возвратилось к подсказке. Первоначально все, что Вы сделали, должно было отобразиться, это - справка, и программа, из которой выходят. Или введите sqlite3.exe, один, или обеспечьте дб для открытия, как sqlite3.exe places.sqlite. Затем программа останется открытым ожиданием Ваших команд.
(Я не знаю о cygwin или мятный так, чтобы мог отбросить меня?)
Если Вам конкретно не нужен SQLite для работы в Cygwin, драйвер ODBC SQLite для окон может быть более оптимальным вариантом. Это предоставляет собственный Windows доступ к базам данных SQLite через ODBC так, чтобы программы как Основа OpenOffice и Microsoft Access, а также многие другие могли соединить и использовать их.