是否可以在bash中使用$ array =()?

Qbe*_*ben 8 arrays bash

有两件事,首先这是我在这个论坛的第一个问题,如果形成各种各样,我会道歉.其次我没有编写那么多bash脚本,而且我生成的脚本之间往往需要相当长的时间.

那就是说,这是我的问题.

是否可以在bash中执行类似的操作(Clear array $ array contains):
$array=()

基本上这就是我想做的.我有一个带有数组变量名的变量:

array1=()  
array2=()  
arrayList="array1 array2"  


# In a function far far away
for array in $arrayList
do  
    eval arr=("\"\${$array[@]\"")  

    for index in ${!arr[@]}
    do
        echo "${arr[$index]}"
    done
    # Here is the big "?", I like to clear the array that $array refers to.
    $array=()  
done
Run Code Online (Sandbox Code Playgroud)

我的数组包含包含" " (space) and this is why I use the eval语句的原因.不确定它是否需要,但至少它是有效的.脚本或多或少都在工作,因为我也想要它,但是我需要清除它中的数组,$arrayList而不是在某处硬编码,即使这很容易.

提前致谢.

Fat*_*ror 11

可能最简单的事情就是unset他们.在大多数情况下,未设置的变量将与空数组相同,并且unset $array应该正常工作.