2015-09-17 2 views
-1

Я натолкнулся на путь enable a progress bar для apt и apt-get, и для сценариев я пытаюсь напечатать только этот индикатор выполнения. У меня не было никакого успеха с grep() или хвостом (tail -1). Это возможно? Я иду в правильном направлении?Печать Прогресс Бар для Apt

ответ

0

Индикатор выполнения, вероятно, не печатает на стандартный вывод.

Попробуйте сдвигая его с помощью 2>&1 | grep Progress:

0

Если я понимаю, что вы просто пытаетесь найти только индикатор выполнения в АПП или APT-получить код, так что вы можете использовать его позже, то нет никакой гарантии, что он называется Progress:, или что запрос, содержащий Progress:, находится даже в скрипте, который вы ищете. Скорее всего, sourced из другого файла.

Вы можете попробовать открыть сценарий в редакторе, например vim или kwrite, или jot и т. Д. И посмотреть в скрипте, где вызывается метр и оттуда. Нет никаких сведений о том, будет ли оно находиться под scale, meter, percent и т. Д.

В отсутствие поиска чего-либо вы всегда можете использовать что-то простое. В Интернете много доступных. Пример:

#!/bin/bash 

## string of characters for meter (60 - good for 120 char width) 
str='▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' 

tput civis     # make cursor invisible 

for i in `seq 1 100`; do # for 1 to 100, save cursor, restore, output, restore 
    printf "\033[s\033[u Progress: %s %3d %% \033[u" "${str:0:$(((i+1)/2))}" "$i" 
    sleep 0.1    # small delay 
done 

printf "\033[K"    # clear to end-of-line 

tput cnorm     # restore cursor to normal 

exit 0 
Смежные вопросы