Мы можем использовать опцию -cmd с sqlite3 для запуска запроса, но затем sqlite3 открывает базу данных и ждет там для интерактивного ввода. Как запустить запрос из sqlite3 из командной строки и выйти?
Спасибо,
Ответ 1
Просто укажите команду в кавычках после аргумента файла базы данных.
Например, следующее создает таблицу с именем abc:
sqlite3 test.db 'create table abc (col0 int)'
Ответ 2
Вы можете использовать команду ".exit" (1), чтобы выйти изящно
Если вы застряли в ситуации, когда вы абсолютно "должны" использовать флаг -cmd при запуске SQLite3 из командной строки, вы можете использовать следующую пустую команду для выхода.
Например:
sqlite3 test.db "select * from urls;" "" > test.txt
В этом примере "" приведет к завершению процесса sqlite3. (По крайней мере, это делается для меня в OSX).