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

发布于 2024-11-26 10:10:24 字数 140 浏览 1 评论 0原文

我有一个 select 语句,

sqlplus [credentials] select variable from table;

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

I have a select statement

sqlplus [credentials] select variable from table;

It returns 6 rows and I need to store them as an array in bash array variable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

涫野音 2024-12-03 10:10:24
array=(`sqlplus [credentials] select variable from table;`)
echo ${array[*]}
array=(`sqlplus [credentials] select variable from table;`)
echo ${array[*]}
彼岸花ソ最美的依靠 2024-12-03 10:10:24

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

SaveIFS="$IFS"

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

IFS="$SaveIFS"

If your variables contain spaces and you want the array to have an element for each line of output (as opposed to each word of output), you also need to set your IFS. And you may want to use quotes when using the array:

SaveIFS="$IFS"

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

IFS="$SaveIFS"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文