如何从数组列表内的变量中传递值。
下面的代码有效,它将repo_libs元素分配给repo_list。有没有一种方法可以从变量中读取值以在数组列表中形成数组名称。
if [[ "$service" == "all" || "$service" == "libs" ]] ; then
# below working
repo_list=("${repo_libs[@]}")
echo "repo_list : ${repo_list[*]}"
fi
寻找类似下面的语句
repo_list=(${repo_`echo $service`[@]})
repo_list=("${repo_$service[@]}")
看到如下错误。
./build.sh: line 168: ${repo_`echo $service`[@]}: bad substitution
./build.sh: line 173: ${repo_$service[@]}: bad substitution
[编辑] 这是使用if .. else作为我正在使用的替代方法的代码。
if [ "$service" = "all" ] ; then
repo_list=("${repo_all[@]}")
elif [ "$service" = "libs" ] ; then
repo_list=("${repo_libs[@]}")
elif [ "$service" = "portlets" ] ; then
repo_list=("${repo_portlets[@]}")
else
repo_list=("$service")
fi