如何在bash数组中存储多行输出?

时间:2011-07-27 17:43:12

标签: bash shell sqlplus

我有一个选择陈述

sqlplus [credentials] select variable from table;

它返回6行,我需要将它们作为数组存储在bash数组变量中。

2 个答案:

答案 0 :(得分:5)

array=(`sqlplus [credentials] select variable from table;`)
echo ${array[*]}

答案 1 :(得分:3)

如果变量包含空格,并且您希望数组为每行输出(而不是输出的每个单词)都有一个元素,则还需要设置IFS。并且您可能希望在使用数组时使用引号:

SaveIFS="$IFS"

IFS=$'\n'
array=( $(sqlplus [credentials] select variable from table;) )
echo "${array[*]}"

IFS="$SaveIFS"