Em vez de
echo "$input"
tente
eval echo "$input"
Não é nem bash-específico, funciona em / bin / sh!
Observe que isso representa um sério risco de segurança, pois eval apenas executa o que você fornece. Nesse caso, o shell interpreta a string $input as $test e, em seguida, eval executa echo $test . Mas e se o usuário inseriu $test; rm -rf * ? eval seria apresentado com echo $test; rm -rf * . Tenha muito cuidado se você fizer isso.