Encontrei muitas referências on-line que dizem que o bash deve interpretar \f
como uma tela clara. E, como muitos dizem, isso não funciona.
Você pode ser capaz de mexer com as configurações de stty
para fazer com que ele interprete \f
corretamente (que neste contexto seria escrito como ^L
para Ctrl + L ). Mas não consegui encontrar nada óbvio.
Uma solução alternativa seria alterar seu código. Mas não há fácil, maneira multiplataforma para limpar a tela. No entanto, existem muitas maneiras de escolher. Se possível, você pode vincular em uma biblioteca de maldições e usar isso. Ou stdlib.h e use system()
.
Pessoalmente, a maneira como sempre fiz isso é enviar o Código de escape ANSI :
printf("3[2J");
Tenho certeza que o bash vai interpretar isso muito bem. E você só precisa certificar-se de ativar a compatibilidade ANSI / VT100 ao usar o PuTTY ou o Hyperterminal.