Você pode usar eval :
eval echo \$temp_$a
Referências
Estou tentando fazer o seguinte:
set a = kitten
set temp_kitten = purr
echo ${temp_$a}
Eu quero que o comando echo retorne "purr".
A ideia geral é que eu tenho um monte de variáveis em uma matriz e um monte de temp_variables em outra matriz e eu quero percorrê-las em um único loop foreach para comparação.