Como executar o comando bash 'clear' antes de qualquer outro comando ser executado?

2

Eu vejo a pergunta em Posso configurar o bash para executar" clear "antes de cada comando digitado no console? , mas as respostas não são válidas para o GNU bash, versão 3.2.53 (1) -release (x86_64 -apple-darwin14). O problema com as respostas dadas é que a saída do comando é limpa antes de poder ser lida. Essa é uma versão bash bastante popular, pois é lançada no Mac OS X. Não posso comentar a melhor resposta por falta de pontos de repetição, então minha única opção é fazer uma nova pergunta.

O motivo para querer essa funcionalidade é que muitos comandos que eu uso (como 'git status') têm saída de várias linhas. Quando comandos multi-line são executados consecutivamente, não é muito fácil separar automaticamente os blobs do texto na tela.

Alguém sabe como realizar essa funcionalidade na versão do bash especificada?

    
por TRB 23.01.2015 / 22:28

1 resposta

2

Aqui está um jeito. Ele supõe que você tenha as associações de teclas padrão.

bind '"\C-m": "\C-l\C-j"'

O \C-m intercepta a tecla 'Enter', o \C-l ( Ctrl+L ) executa a função Bash clear-screen e o \C-j executa a função Bash newline-and-indent ; então o comando está ligando Enter key para Ctrl + L & Ctrl + J

    
por 23.01.2015 / 23:37

Tags