在shell脚本中迭代sql结果

xhv8bpkk  于 2022-12-27  发布在  Shell
关注(0)|答案(1)|浏览(157)

我正在使用下面的代码

tablelist=`SELECT tablename from List`
echo "table list is $tablelist"

结果显示为

table list is Table1
Table2
Table3
Table4

我想遍历结果。请建议我如何实现。如果我循环当前的表列表,它会在循环内部打印整个列表。

bzzcjhmw

bzzcjhmw1#

${tablelist}”不是一行结果,它是多行的,每行一个条目,所以......最好不要把它当作一个简单的字符串,应该把它当作一个文件。

#!/bin/bash

#tablelist=`SELECT tablename from List`

cat >tables.list <<"EnDoFiNpUt"
Table1
Table2
Table3
Table4
EnDoFiNpUt

i=1

#echo "${tablelist}" |
cat tables.list |
while read table
do
        echo -e "\t [${i}] TABLE: '${table}' ..."
        echo -e "\t\t ... replace this line by some action using '${table}' ...\n"
        i=$((i+=1))
done

它的输出如下所示:
[1]表:“Table 1...”将此行替换为使用“Table 1”的某个操作...
[2]表:“Table 2”......将此行替换为使用“Table 2”的某个操作...
[3]表:“Table 3......”将此行替换为使用“Table 3”的某个操作...
[4]表:“Table 4”......将此行替换为使用“Table 4”的某个操作...

相关问题