Terminal de limpeza

6

Gostaria de emitir um comando a partir de um script bash para limpar o terminal em que ele está sendo executado:

  • Eu não quero que limpe o histórico bash (history -c)
  • Eu não quero emitir o comando clear (que move o terminal até o último prompt, dando a impressão de que o terminal foi limpo, mas a saída anterior permanece visível se você rolar para cima)
  • Eu quero que remova completamente toda a saída anterior do meu terminal e limpe-a como se eu estivesse abrindo uma nova

Obrigado.

    
por Max 01.02.2011 / 12:52

5 respostas

11

Experimente printf '3c' . Isso envia uma seqüência de escape para o terminal, geralmente limpando todo o conteúdo, incluindo o buffer de rolagem.

    
por 01.02.2011 / 13:00
2

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:

    
por 01.02.2011 / 14:05
0

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.

    
por 03.09.2013 / 15:33
-1

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).

    
por 01.02.2011 / 13:27
-1

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.
    
por 01.02.2011 / 16:22