函数(
我正在使用两个不同的配置文件,我想将其加载到脚本中。目前,我可以访问在一个文件(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
来声明全局变量。