我正在尝试将一些 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/