无法从配置文件访问Association



我正在使用两个不同的配置文件,我想将其加载到脚本中。目前,我可以访问在一个文件(file.config(中声明的变量,但无法访问在另一个文件中声明的关联数组(file1.config(。我如何进行配置,以便也可以访问其他文件。

file.config&file1.config与脚本位于同一目录中

Script.sh

#Base Directory
base_dir=`pwd`
Funct () {
. $base_dir/file.config
}
Funct1 () {
. $base_dir/file1.config
}
#Calling function to load config file(file.config)
Funct
echo $var1
#Calling function to load config file(file1.config)
Funct1
echo ${assArray1[flower]}

file.config

var1=val1
var2=val2

文件1.config

declare -A assArray1
assArray1[fruit]=Mango
assArray1[flower]=Rose

输出:val1

问题:无法打印关联数组元素-echo${assArray1[flower]}

函数(Funct1(内调用的declare使相应变量成为该函数的局部变量。因此,外面无法进入。

您可以简单地省略file1.config中的declare,或者按照dan的建议使用declare -g来声明全局变量。

最新更新