динамическое отображение текущего процесса?

Я пишу сценарий, и в соответствии с этим, когда я запускаю его, определенная информация будет отображаться на экране вывода.

например, говорят, что отображаемые постоянные данные :

my name is mukesh. i am 27 years old unix version 7.2.3.0 

но наряду с приведенным выше дисплеем необходимо также отобразить что-то еще ( переменные данные ). Т.е.

 Process A is starting Process A is running Process A is completed. 

но я не хочу показывать выше.

Я хочу, чтобы Process A is starting очищаться с экрана и заменялся Process A is running а затем Process A is completed.

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

3 Solutions collect form web for “динамическое отображение текущего процесса?”

Вы можете очистить строку и использовать возврат каретки ( \r ), чтобы перейти к началу строки.

 clr2eol=`tput el` # capture escape sequence for "clear-to-end-of-line" echo -n "Process A has started." # display without a newline sleep 3 echo -n "\r${clr2eol}Process A is running." # move to beginning of line (bol), clear, and display new text sleep 5 echo -n "\r${clr2eol}Process A has completed." # again, move to bol, clear and display new test echo # terminating newline you may not want to have this sent right away 

Прочтите man-страницу на terminfo .

Символ возврата каретки ( \r ) вернется в начало текущей строки, чтобы вы могли перезаписать текст:

 printf "%s\r" "Process A is starting " sleep 5 printf "%s\r" "Process A is running " sleep 5 printf "%s\n" "Process A is completed." 

Чтобы сделать что-то подобное, вам придется использовать некоторые вроде (n) проклятия: http://www.gnu.org/software/ncurses/

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