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

7

我有一个select语句

sqlplus [credentials] select variable from table;

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

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

5
如果您的变量包含空格并且想要数组中每行输出一个元素(而不是每个单词输出一个元素),则还需要设置IFS。在使用数组时,建议使用引号:
SaveIFS="$IFS"

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

IFS="$SaveIFS"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接