Переменная косвенное пространство будет полезно здесь:
for journal in A B all
do
indirect="${journal}_1999[@]"
echo "$journal: ${!indirect}"
done
выходы
A: JF-1999 JFE-1999 RFS-1999
B: JBF-1999 JFI-1999 JMCB-1999
all: JF-1999 JFE-1999 RFS-1999 JBF-1999 JFI-1999 JMCB-1999
Rev-Free Rewrite. Массивы массивов - это не то, что Bash является втаконным, поэтому я должен использовать мезовые струны и хранение температуры
# Declare associative arrays of journal-year combinations
a_journal_list=( {JF,JFE,RFS} )
b_journal_list=( {JBF,JFI,JMCB} )
all_journal_list=( "${a_journal_list[@]}" "${b_journal_list[@]}" )
declare -a a b all
for year in {1998..2000} {2009..2011}
do
# store year-specific values as space-separated strings
a[$year]=$( printf "%s-$year " "${a_journal_list[@]}" )
b[$year]=$( printf "%s-$year " "${b_journal_list[@]}" )
all[$year]=$( printf "%s-$year " "${all_journal_list[@]}" )
done
selected_years=( 1998 1999 2000 )
for journal in a b all
do
# I'll use the positional params for temp storage of the accumulated array
set --
for year in "${selected_years[@]}"
do
indirect="${journal}[$year]"
# variable is unquoted to allow word splitting
set -- "$@" ${!indirect}
done
echo $journal
printf "%s\n" "$@"
done
Когда вы разбиваете жесткий диск, чтобы подготовиться к установке, просто сокращайте раздел HD Macintosh HD и оставьте несколько гигабайт свободного места (вам может потребоваться создать раздел и изменить формат в «свободное место»). Elementary OS отформатирует и использует это свободное место, в то время как сам позволяет устанавливать его рядом с ОС X.