我有以下关联数组。
var1="dog"
var2="cat"
var3="moose"
declare -A asar01=(
["one"]="$var1"
["two"]="$var2"
["three"]="$var3"
)
我想循环并打印每个值变量名称。所以只有“var1”、“var2”和“var3”会打印。我怎样才能做到这一点?我尝试了以下方法,但它打印了实际的脚本名称。作为第一个变量输出。
for i in "${!asar01[@]}";do
echo "${!asar01[$i]}"
done
我的示例是尝试使用该${!variable}
方法打印名称,但它不起作用。我怎样才能做到这一点?
您正在尝试向后使用间接扩展。如果要保留变量名称,
$
请从关联数组分配中删除