Digite prints "^M" no terminal

Digite prints "^M" no terminal

Quando pressiono Enter ou Backspace no terminal, recebo isto:

Would you like to create one now? (yes/no): no^M^?^?^?^?^?^?^?^M^?^?

O que há com isso?

Responder1

Isso acontece porque o programa que lê a entrada do usuário não consegue lidar com caracteres especiais. O terminal está no modo bruto. Se o programa for um script, você pode usar read -ea função Bash readlineque pode lidar com caracteres especiais.

informação relacionada