Nehmen wir mal an, Du hättest 2 andere Variablen
bar=grumbl
baz=smurf
und im weiteren Script entscheidet sich, welcher dieser beiden Variablen Du den Wert 'quux' zuweisen willst. Dann könntest Du den NAMEN dieser Variablen in einer anderen Variablen speichern:
FOO=bar
und dann versuchen über diesen Umweg dieser Variablen (bar) einen Wert zuzuweisen:
$FOO=quux # klappt nicht, weil $irgendwas nicht links vom = stehen darf (hierfür zumindest)
eval $FOO=quux # klappt, weil erstmal $FOO ausgewertet wird (zu bar), und dessen Ergebnis dann als linkes Argument genommen wird
echo bar # =quux
echo baz # =smurf
Nimm das aber nicht als Anleitung, wie man so etwas macht - da steigt man später kaum noch durch. Du kannst wohl immer genau so gut erst bei der Zuweisung entscheiden, welcher Variablen Du etwas zuweist.