bash - 将 sqlite 输出移动到 bash 数组

标签 bash sqlite

我正在尝试将一些 sqlite3 输出加载到/n 分隔的 bash 数组中。 看起来应该是一件简单的事情,但是 read 语句似乎没有产生任何输出。在 IFS 语句之前回显 fqry 确认 sqlite 查询正在将其输出正确加载到字符串中。但似乎根本没有任何东西进入 farray。

cmd="SELECT * FROM format"
fqry=`sqlite3 data.db "$cmd"`
IFS=$'\n' 
read -ra farray <<< "$fqry"
for f in "${farray[@]}"
do
echo "$f"
done

最佳答案

使用复合数组赋值来创建索引数组而不是read:

cmd="SELECT * FROM format"
IFS=$'\n'
fqry=(`sqlite3 data.db "$cmd"`)

for f in "${fqry[@]}"; do
    echo "$f"
done

关于bash - 将 sqlite 输出移动到 bash 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38259510/

相关文章:

bash - 将 Bash 脚本中的变量设置为文件内容加上一些文本

linux - 选择 "*line1*"和 "*line2*"之间的行

python - 在 python 脚本中搜索并替换字符串中的多个模式

bash - Heredoc 不保留空行

mysql - 如何从表中的列中删除 '00:00:00'?

ios - 使用 sqlite swift iOS 多次访问 sqlite 数据库

java - SQLite相关用户信息检索

macos - OSX 永久设置 PYTHONPATH

android - 应用程序启动时以编程方式调用 rawQuery

sql - 获取sqlite中的百分比