【发布时间】:2016-10-09 05:00:33
【问题描述】:
我正在尝试在循环中读取 sqlplus 的输出
while read -r line; do
[commands]
done < <(sqlplus -s ${user}/${pwd}@${database} @query.sql)
并且循环中的所有命令都可以正常工作,但循环没有被关闭!
我已经尝试了几种解决方案,例如
done=0
while read -r line; do
[commands]
if [ "$done" -ne 0 ]; then
break
fi
done < <(sqlplus -s ${user}/${pwd}@${database} @query.sql)
或
while read -r line || [[ -n "$line" ]]; do
[commands]
done < <(sqlplus -s ${user}/${pwd}@${database} @query.sql)
但它们的效果并不好。
+我还检查了结果集的最后一行是否有 \n\r 符号
如果有人可以帮助我理解为什么我列出了上述问题或建议使用其他方法 - 我将非常感激。
提前谢谢你。
【问题讨论】:
标签: arrays oracle bash while-loop sqlplus