man 1 bash
diz:
Se o primeiro caractere do parâmetro for um ponto de exclamação (!), será introduzido um nível de indireção de variável. Bash usa o valor da variável formada a partir do resto do parâmetro como o nome da variável; essa variável é então expandida e esse valor é usado no restante da substituição, em vez do valor do próprio parâmetro. Isso é conhecido como expansão indireta.
$ server1=abc,def,ghc
$ HOSTNAME=server1
$ echo ${!HOSTNAME}
abc,def,ghc