打开SQLite控制台并执行SQL,而无需退出

问题描述 投票:0回答:1
为了方便起见,我想制作一个打开终端,运行SQLite并连接到数据库,附加其他数据库并使SQLite终端保持打开状态的批处理文件。

例如:

#!/bin/bash sqlite3 -interactive "/db.sqlite" <<EOS ATTACH DATABASE "/sb2.sqlite" AS db2; EOS

问题是sqlite3在执行命令后立即退出。

关于如何使其保持打开状态的任何想法?

bash sqlite command-line-interface
1个回答
0
投票
问题是,当sqlite3从标准输入中获得EOF时,它将自动退出,这在Heredoc的结尾处完成。幸运的是,它需要使用的命令行选项之一是-cmd SQL,在开始从标准输入读取之前对其进行评估。因此,您的脚本可能类似于:

#!/bin/sh sqlite3 -interactive -cmd "ATTACH '/sb2.sqlite' AS db2" /db.sqlite

或者,如果每次启动sqlite3客户端时总是希望运行此命令,则可以将其放在~/.sqliterc文件中,或使用-init /path/to/other/file
© www.soinside.com 2019 - 2024. All rights reserved.