Fluxo de saída do comando Shell Script sobrescrevendo linhas antigas

3

Eu tenho um script de shell que chama um comando ( sudo apt-get update ). O status atual é exibido no terminal, mas as linhas mais antigas obviamente se movem para cima. O que quero alcançar é que as últimas linhas X sejam exibidas e, quando uma nova linha aparecer, uma linha antiga será excluída. Isso significa que a saída deve sempre ocupar apenas as linhas X.

Eu tentei tail e sed, mas não consegui o resultado desejado.

    
por jpscholz 10.12.2016 / 19:20

1 resposta

0

Se você, como eu, estiver executando a sessão de terminal em tmux , poderá solicitar que tmux divida a janela e execute outro comando no novo painel:

$ tmux split-window "sudo apt-get update"

O painel recém-criado será fechado assim que o comando terminar, então você pode querer adicionar um read (que irá parar até você pressionar Enter ):

$ tmux split-window "sudo apt-get update; read"

Você pode ler mais sobre o comando split-window no manual tmux , mas mencionarei apenas se você adicionar -l N , por exemplo tmux split-window -l 5 ... , então você obterá um novo painel com as linhas N (cinco neste exemplo).

    
por 28.12.2016 / 18:21

Tags