gpt4 book ai didi

linux - 连续循环 SQlite3 数据库,当查询找到前 3 个运行脚本时

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:52 26 4
gpt4 key购买 nike

我有一个 SQlite 数据库,当有人向它添加文件名和目录时,它就会被填充,然后我希望脚本读取最新的 3 个条目(使用“LIMIT 3”完成),然后我希望这个脚本获取这 3 个条目条目并为它们中的每一个启动“script1.sh”,然后一旦 script1 完成了 3 个中的一个,我希望它回头查看 SQlite 数据库并检查是否有任何新的整体并重复。 (有点像队列)注意,在 script1.sh 的末尾有一个命令可以从 SQlite 数据库中删除它的条目。

所以基本上我希望脚本在每次 script1.sh 脚本完成时检查 SQlite 数据库。

到目前为止我有:

#!/bin/bash

sqlite3 /database.db "SELECT * FROM main ORDER BY mKey ASC LIMIT 3" | while read file
do
fileName=`echo "$file" | awk '{split($0,a,"|"); print a[2]}'`
echo "$fileName"

#Run script
./script1.sh "$fileName" "$file"


done

最佳答案

#!/bin/bash

key=0
while :; do
sqlite3 -column ./test.db \
"SELECT * FROM main WHERE mKey > $key ORDER BY mKey ASC LIMIT 3" > tmpFile
lastKey=$key
while read k f; do
key=$k
echo start script1 on $f here current key is $k
done < tmpFile
[ $key -eq $lastKey ] && sleep 1
done

我不确定你真的想要最新的 3,因为你还说你想要一个队列,所以我每次都得到下一个 3,从第一个开始。

关于linux - 连续循环 SQlite3 数据库,当查询找到前 3 个运行脚本时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1482603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com