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

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

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

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 строк (пять в этом примере).

  • Скопируйте файлы, найденные с помощью find?
  • Как избежать кавычек в оболочке?
  • Как вставить команду оболочки в выражение sed?
  • bash: Синтаксис около неожиданной ошибки '('
  • Как использовать имя одной переменной для ссылки на другую переменную?
  • Увеличить ширину символов в оболочке сервера Ubuntu?
  • Смутно о поведении звездочки в команде ls
  • Как определить функцию `bc` для последующего использования?
  • Как настроить режим vi в режиме ZSH для сохранения состояния между командами?
  • Как избежать одиночных кавычек, правильно создающих псевдоним
  • Захват имени файла, указанного символической ссылкой в ​​переменной
  • Что означает «sh a.sh <& 0> & 0»?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.