Как заставить linux выводить "asyn c", например, htop или top - PullRequest
0 голосов
/ 18 января 2020

Как я могу сделать вывод наподобие htop?

То есть информация постоянно усиливается. Я думал о чем-то подобном, но я не думаю, что это совершенно правильно, и я уверен, что есть лучшие способы сделать это.

while true ; do
   ls
   sleep 3
   clear
done

Я хотел бы сделать это с bash, но я Я открыт для других предложений.

Ответы [ 2 ]

2 голосов
/ 18 января 2020

Вы можете использовать утилиту watch для такой задачи:

$ watch -n 10 script.sh

вышеуказанная команда выполнит скрипт. sh каждые 10 секунды, которые вы можете изменить с помощью n option.

или для вашей команды вы можете сделать это так:

$ watch -n 3 ls
1 голос
/ 18 января 2020

htop использует ncurses (https://www.gnu.org/software/ncurses/), которая является C библиотекой, разработанной для создания терминальных интерфейсов.

Если вы хотите придерживаться простого старого bash, Вы можете попытаться повторить какой-нибудь вывод, затем повторить пробел \b символов и пробелов, чтобы перезаписать его, а затем повторить вывод нового вывода. Вы также можете использовать системные инструменты, такие как tput, чтобы получить размеры терминала и тому подобное. Я бы посоветовал не идти по маршруту bash однако.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...