【问题标题】:How to store multiple row output in a bash array?如何在 bash 数组中存储多行输出?
【发布时间】:2011-07-27 17:43:12
【问题描述】:

我有一个选择语句

sqlplus [credentials] select variable from table;

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

【问题讨论】:

    标签: bash shell sqlplus


    【解决方案1】:
    array=(`sqlplus [credentials] select variable from table;`)
    echo ${array[*]}
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2015-03-07
        • 2020-01-17
        • 2020-07-04
        • 2018-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-13
        • 2022-01-25
        相关资源
        最近更新 更多