Командный поток команды Shell Script перезаписывает старые строки

У меня есть сценарий оболочки, который вызывает команду ( sudo apt-get update ). Текущее состояние отображается в терминале, но старые строки, очевидно, перемещаются вверх. То, что я хочу достичь, это то, что отображаются последние строки X, и по мере того, как появляется новая строка, старый удаляется. Это означает, что вывод должен всегда занимать только X строк.

Я попробовал tail и sed, но не смог добиться желаемого результата.

  • Как сохранить переменную окружения через su -?
  • Файл существует, но mv ошибки с: "mv: не может stat 'file.tar.gz': Нет такого файла или каталога"
  • для цикла для итерации через некоторую файловую n-ю позицию
  • Порядок выполнения с несколькими командами
  • Как перезапустить фоновое задание не удалось из-за «сломанной трубы»
  • Можно ли скопировать расширение в команде `at`?
  • Существует ли стандартная аббревиатура для 'find. -name foo 'или мне нужна функция для этого?
  • выберите одну из двух программ в сценарии bash
  • One Solution collect form web for “Командный поток команды Shell Script перезаписывает старые строки”

    Если вы, как и я, запускаете сеанс терминала в tmux , вы можете попросить tmux разбить окно и запустить другую команду в новой области:

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

    Заново созданная панель закрывается, как только команда будет завершена, поэтому вы можете захотеть добавить read после этого (которое остановится, пока вы не нажмете Enter ):

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

    Вы можете больше узнать о команде split-window в руководстве tmux , но я просто упомянул, что если вы добавите -l N , например, tmux split-window -l 5 ... , вы получите новую панель с N строк (пять в этом примере).

    Linux и Unix - лучшая ОС в мире.