android通过pc脚本执行sqlite3脚本

最近在调研市面上的一些android db框架,需要经常重复的输入一堆比如

adb shell
cd /data/data/com.example.testandroiddb/databases
sqlite3 demo.dbcreate table xxx;insert xxx;select * from xxx;...

很不方便,就想写个脚本来做这些重复的工作。

主要的问题就是要多个shell之间执行命令。

解决的办法就是shell提供的输入流功能"<"

先编写sqlite3的脚本,命名为db3.sql,内容如:

.table
select * from android_metadata;

然后新建一个db.sh作为pc端执行脚本的入口,这里要把db3.sqli传到手机上,因为sqlite读取sql的时候是在android设备上。

adb push /Users/corleone/Desktop/db3.sql /sdcard/db3.sqladb shell < /Users/corleone/Desktop/db2.sh

然后在这个/Users/corleone/Desktop/db2.sh中写好android的shell端要做的事情:


 cd /data/data/com.example.testandroiddb/databases
 sqlite3 -echo demo.db < /sdcard/db3.sql

然后给db.sh加上执行权限

chmod +x /Users/corleone/Desktop/db.sh

然后就可以愉快的直接打开sqlite了,只要执行db.sh即可。

时间: 2024-10-30 01:40:45

android通过pc脚本执行sqlite3脚本的相关文章

Android程序中如何执行shell脚本

在做Android应用时,经常需要执行shell脚本,以快速实现某些功能: 在Android应用程序中执行shell脚本可以省去一大堆繁琐的代码,还可以避免不必要的错误: 比如:拷贝文件夹时,可以执行shell命令中的 cp 命令达到目的:而在代码中实现拷贝文件夹时,不仅需要编写一大堆繁琐的代码,还容易陷入递归死循环的错误中: 比如:获取文件系统的读写权限,只需要执行shell脚本中一句 mount -o rw,remount / 就能轻松搞定: 比如:删除文件夹下某一个文件.或者某一类文件.或

用shell脚本执行mysql脚本

#!/bin/bash HOSTNAME="127.0.0.1" #数据库本机地址 PORT="3306" USERNAME="root" PASSWORD="pwd" DBNAME="tbs_ra_data" execSql="call DELETE_FLOW_ONEBYONE()" //此处可以是SQL语句或者调用存储过程 echo "Begin execute MYSQL

shell脚本中执行python脚本并接收其返回值的例子

1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令 例:有两个py程序  hello.py 复制代码代码如下: def main():    print "Hello" if __name__=='__main__':    main()world.py def main():    print "Hello" if __name__=='__main__':    main() shell 脚本 test.sh

shell脚本介绍 shell脚本结构和执行 date命令用法 shell脚本中的变量

一.shell脚本介绍shell脚本要想写好,必须通过不断地去练习写才能写好,没有捷径要在我们拿到一个需求的时候有一个脚本的大致思路,想到需求怎么去实现shell脚本可以大大提高我们的工作效率二.shell脚本结构和执行[[email protected] ~]# mkdir shell //创建一个shell文件夹,存放实验的shell脚本[[email protected] ~]# cd shell/[[email protected] shell]# ls[[email protected

Android自动化初探:用Eclipse执行MonkeyRunner脚本

Info: 初步学习,难免会有疏漏,以后我会不断修改补全,直到完美.转载请注明出处,谢谢. 2014-10-11:初版 -------------------------------------------- MonkeyRunner环境配置好以后,启动模拟器,写了个最简单的脚本. ''' Created on Oct 11, 2014 @author: deldong ''' print 'before execution' # Imports the monkeyrunner modules

Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件

作者 : 万境绝尘 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/36438365 示例代码下载 : -- CSDN : http://download.csdn.net/detail/han1202012/7639253; -- GitHub : https://github.com/han1202012/TracerouteAndBusybox ; 1. 原理思路 文件权限修改无法实现 : 如果 没有 root 权限,

android手机执行shell脚本

注意: 1.手机必须root 2.shell脚本需要有执行权限 流程: 1.编写shell脚本 #!/system/bin/sh i=1 while [ $i -le 100 ] do let i++ sleep 2 input swipe 100 950 200 300 150 done 解释:每隔2秒滑屏一次,一共滑动100次(这个脚本比较简单,明白流程后可自行优化) 2.把shell脚本传到/data/目录(/system目录也可以) adb push  D:\test_apk\test.

.net(C#)在Access数据库中执行sql脚本

自己写的一个工具类,主要是业务场景的需要. 主要有两个功能: ①执行包含sql语句的字符串 ②执行包含sql语句的文件 调用方式 1 /// <summary> 2 /// 执行sql语句 3 /// </summary> 4 /// <param name="sql">需要执行的sql语句</param> 5 public bool ExecuteSql(string sql, ref string errorMsg) 6 { 7 Se

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child