Meine Vermutung wäre, dass die Instanz von bash, in der Sie den Befehl xterm ausführen, die $ANSWER
Variable bereits auflöst, bevor Sie sie an xterm übergeben.
Entkommen Sie entweder dem Dollarsymbol oder verwenden Sie Anführungszeichen um die Ausdrücke. Das scheint in meinem Fall zu funktionieren.
Update - Syntax:
xterm -e "Echo 123; LESE ANTWORT; Echoantwort = \ $ ANSWER; Schlaf 5"
oder
xterm -e 'Echo 123; ANTWORT lesen; Echoantwort = $ ANSWER; Schlaf 5'
Dies entspricht Ihrer Syntax, wenn ANSWER vor dem Aufruf von xterm leer ist:
xterm -e "Echo 123; ANTWORT lesen; Echoantwort =; Schlaf 5"
Wie Sie sehen können, wird die Variable in den Wert aufgelöst und geht niemals in das X-Feld ein. Die in Ihrem xterm-Befehl ausgeführte Bash ist vollständig getrennt, Variablen oder deren Werte können nicht ohne weiteres außerhalb ihres Gültigkeitsbereichs übergeben werden.