Проблема в том, что sqlite3 автоматически завершается, когда получает EOF от стандартного ввода, что он делает в конце heredo c. К счастью, одним из параметров командной строки, который он принимает, является -cmd SQL
, который оценивается перед началом чтения из стандартного ввода. Таким образом, ваш скрипт может выглядеть примерно так:
#!/bin/sh
sqlite3 -interactive -cmd "ATTACH '/sb2.sqlite' AS db2" /db.sqlite
В качестве альтернативы, если вы всегда хотите запускать его каждый раз при запуске клиента sqlite3
, вы можете поместить его в файл ~/.sqliterc
или использовать -init /path/to/other/file
.