De acordo com esta postagem do Stackoverflow , você precisa usar eval
. Talvez:
#!/bin/csh -f
set list = "book bus apple"
set err_num = 0
foreach var ($list)
@ err_num += 1
set ${var}_err_num = $err_num
end
echo ""
echo "# Summary"
foreach var ($list)
eval echo \$var error num : \$${var}_err_num ; # Error occured
end
(corrigi alguns erros de sintaxe no script, como o erro de digitação em foreach
e assim por diante).
A saída:
$ csh -f foo.csh
# Summary
book error num : 1
bus error num : 2
apple error num : 3