Experimente printf '3c'
. Isso envia uma seqüência de escape para o terminal, geralmente limpando todo o conteúdo, incluindo o buffer de rolagem.
Gostaria de emitir um comando a partir de um script bash para limpar o terminal em que ele está sendo executado:
Obrigado.
clear
LIMPA a tela do terminal. Eu acho que você está acessando o Terminal de uma interface gráfica e, portanto, você está realmente usando uma interface para o console, não o console real. Esta interface "salva" automaticamente o seu histórico de saída (as coisas que você vê ao rolar para cima). Em um console real (sem interface gráfica), você não pode simplesmente rolar para cima. Neste caso, o terminal é apenas um programa que mantém registros da saída do console.
Se você abrir uma nova janela do Terminal e fechar a janela atual, você começará com uma nova janela. (Você também pode reinicializar manualmente indo até Terminal - > Reinicializar e limpar ")
Terminal em execução no ambiente da área de trabalho:
Consolesemambientededesktop:
Verifique se esta postagem do SU referenciando os comandos de reinicialização e limpeza do Bash
Além de reset
, a resposta também descreve mais uma maneira de limpar o terminal.
Você não pode apagar o histórico do terminal (pelo menos não há maneira portátil). Esse recurso é geralmente reservado apenas para o usuário, pois ter um histórico apagado por algum programa seria extremamente irritante.
Se você quiser limpar o terminal, provavelmente a abordagem mais portável é usar tput clear
(isso gerará uma string dependente de terminal que limpará a tela).
Uma opção pode ser ver se o terminal pode ser iniciado com a rolagem desativada. Por exemplo, xterm -sl 0
iniciará um xterm com 0 saveLines. Veja o arquivo man:
-sl number
This option specifies the number of lines to save that have
been scrolled off the top of the screen. This corresponds to
the saveLines resource. The default is 64.