bash 亚行 shell sqlite3 脚本

bash ADB shell sqlite3 script

我在使用这个简单的 bash 脚本时遇到问题。下面是我试图开始工作的简单脚本:

#!/bin/sh

adb shell sqlite3 /data/data/com.android.providers.tv/databases/tv.db "SELECT programs.title FROM programs"

我收到以下错误:

Error: near "SELECT": syntax error

如果我 运行 终端中的命令我得到正确的输出。我也试过把SELECT改成select,还是一样的问题。 运行 在终端中手动如下:

adb shell
sqlite3 /data/data/com.android.providers.tv/databases/tv.db
sqlite> SELECT programs.title FROM programs;
*OUTPUT*

给出正确的输出。

有人知道我做错了什么吗?


关于@Jetchisel 的建议,请参阅下面我尝试但没有成功的内容:

adb shell sqlite3 /data/data/com.android.providers.tv/databases/tv.db "SELECT programs.title FROM programs;"

adb shell sqlite3 /data/data/com.android.providers.tv/databases/tv.db "SELECT programs.title FROM programs;";

adb shell sqlite3 /data/data/com.android.providers.tv/databases/tv.db "SELECT programs.title FROM programs";

这是一个简单的修复,见下文:

#!/bin/bash

adb shell sqlite3 /data/data/com.android.providers.tv/databases/tv.db '"SELECT programs.title FROM programs;"'

需要在查询周围添加单引号。