两件事,首先这是我在这个论坛上的第一个问题,如果格式化到处都是,我深表歉意。其次,我没有编写那么多 bash 脚本,而且我编写的脚本之间的时间往往很长。
也就是说,这是我的问题。
是否可以在 bash 中做这样的事情(清除数组 $array 包含):
$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
我的数组包含包含“ ”(空格)的字符串,这就是我使用该
eval
语句的原因。不确定它是否需要,但至少它正在工作。该脚本或多或少也可以按照我的意愿工作,但是我需要清除 . 中的数组$arrayList
,并且我宁愿不在某处对其进行硬编码,即使这很容易。