在BASH中回显/传递字符串数组的最佳方法

时间:2017-02-22 11:46:34

标签: arrays string bash

我的shell脚本中有函数返回一个字符串数组。数组中的每个elem可以包含嵌入的空格。我需要回显/传递这个结果(字符串数组),以便消费者将其评估为数组而不考虑字符串中嵌入的空格

像这样的东西

function get_prop
{
    prop=$(prop_command $1 $2)
    eval "prop_array=($prop)"
    echo "${prop_array[@]}"
}

props="$(get_prop arg1 arg2)"
for p in $props; do
    do something
done

以上在elem嵌入空格的情况下不起作用,因为在消费者端它将被视为两个元素。

值得一提的是,如果存在,我的prop_command会在个别元素中反映嵌入空格。

例如,如果我的字符串数组有两个元素" a b"和" c d"

echo $prop
a\ b c\ d

处理这类特殊情况的其他可行方法有哪些

0 个答案:

没有答案