在 cli 的单个命令中向 sqlite3 提交多个命令

Submitting several commands to sqlite3 in a single command at cli

在 Mac OS Yosemite 我使用以下版本的 SQLite:

# sqlite3 --version
3.8.5 2014-08-15 22:37:57 c8ade949d4a2eb3bba4702a4a0e17b405e9b6ace

我有 2 个命令 运行 在 sqlite3 提示符下正常:

.read android.sql
.import words.txt dict

上面的第一个命令在我的 Android 应用程序中创建了我需要的 3 tables(我使用 SQLiteAssetHelper 复制 my.db 进入 APK 文件)。

上面的第二个命令从文本文件中填充 dict table。

如何在 cli 中 运行 在单个命令 中 这两个命令?

我试过以下分隔符:分号、斜杠和 \n,但这不起作用:

echo ".read android.sql / .import words.txt dict" | sqlite3 my.db 
Usage: .read FILE

更新:

这在 Mac OS 终端中有效(谢谢,马克)-

# echo -e "command1\ncommand2"
command1
command2

# echo -e ".read android.sql\n.import words.txt dict" | sqlite3 my.db 
Usage: .read FILE

试试这个:

echo -e "command1\ncommand2" | sqlite3 my.db

例如:

echo -e ".print hello\n.print goodbye" | sqlite3 
hello
goodbye

使用 bash 的内置帮助查看 echo 的帮助页面:

help echo