在bash中有一个很好的方法来做一个类似POJO的结构吗?

时间:2017-08-29 15:38:15

标签: bash global-variables

我对bash脚本有些新意。我正在寻找在我的bash脚本中使用全局变量的替代方法。我想也许可能有某种结构的东西,我不知道我可以将一些数据点组合在一起并将它们传递给函数。我目前的方案是设置一些全局变量,并且在使用它们的地点和时间时要非常小心。

是否有更好的替代方法来创建从bash中的函数返回的数据,而不是设置全局变量?

1 个答案:

答案 0 :(得分:0)

使用namerefs将数组名称传递给函数的示例:

$ dump_array() {
    local -n a=$1
    for i in "${!a[@]}"; do printf "%s\t%s\n" "$i" "${a[$i]}"; done
}

$ declare -a indexed=(a b c d)

$ declare -A associative=([foo]=bar [baz]=qux)

$ dump_array indexed
0   a
1   b
2   c
3   d

$ dump_array associative
baz qux
foo bar