假设我声明了一个数组Unix
declare -a Unix=('Debian' 'Red hat' 'Suse' 'Fedora')
我可以这样附加到数组中
Unix=("${Unix[@]}" "AIX")
我介绍了另一个变量a
它指向一个字符串,命名了前面的Unix
变量
a=Unix
我可以通过第二个变量附加到数组吗?我想知道的原因是我正在尝试编写一个函数,该函数接受一个"指向数组"的变量。
使用内置的declare
。它的参数在执行赋值之前会进行扩展,以便$a
扩展为数组的名称,以便在赋值发生之前进行更新。
declare "$a+=( Aix )"
转义所有内容,以便只替换a
,其他所有内容保持不变,然后使用 eval
-
Unix=('Debian' 'Red hat' 'Suse' 'Fedora')
a=Unix
eval "$a=( "${$a[@]}" "AIX" )"