Neste teste espero que ele imprima "var1 é 999".
user@penguin:~$ for num in {1..3}; do export var$num=9999 ; echo var$num is $var$num ; done
var1 is 1
var2 is 2
var3 is 3
user@penguin:~$ echo $var1 $var2 $var3
9999 9999 9999
Isso imprime o PID em vez da variável nomeada pelos dois nomes de variáveis.
user@penguin:~$ for num in {1..3}; do export var$num=9999 ; echo var$num is $$var$num ; done
var1 is 316var1
var2 is 316var2
var3 is 316var3
No seu exemplo de saída você tem
$$var$num
em vez do$var$num
que você tem acima. Parece um erro de digitação, mas$$
é um parâmetro especial que se expande para o PID do shell/subshell do qual está sendo executado.O que você está procurando, no entanto, é uma expansão indireta de parâmetros :