代码开发是基于vs2017的,查询数据库通常用可视化工具(eg: SQLite Export 等工具来回查看)确定程序执行完数据记录的正确性,为了完成快速的测试,来回倒db文件的麻烦,写一个自动检测的脚本
用到的shell功能:EOF , while 循环 系统需要安装sqlite3
selectsql.sh
#/bin/sh
<<TIP
1) 创建表,当确定表结构的时候修改表名即可
2)用于循环查表, EOF 与<< 结合,表示后续的输入作为子命令或者子shell输入,直到遇到eof结束
TIP
sqlite3 test.db <<EOF
.databases
drop table node_info;
CREATE TABLE node_info(
id BIGINT PRIMARY KEY NOT NULL,
node_name VARCHAR(192) NOT NULL,
IPv4Addr bytea not null,
IPv6Addr bytea not null,
root_name VARCHAR(64) NOT NULL,
root_password VARCHAR(64) NOT NULL,
install_path VARCHAR(64) NOT NULL
);
.tables
.schema node_info
insert into node_info(id,node_name,IPv4Addr,IPv6Addr,root_name,
root_password,install_path) values(0,'node1','333','333','node1','123456','fff');
EOF
num=1
while [ $num -le 100 ]
do
sqlite3 test.db <<EOF
select * from node_info where id =0;
EOF
# 注意这个EOF必须要顶格写
sleep 0.1s
let num++
done
执行 sh selectsql.sh & >result.txt