Я использовал ответ из Создание строки повторяющихся символов в скрипте оболочки для повторения символов. У меня есть две относительно небольшие версии bash для сценариев, которые должны отображать индикатор выполнения (например, цикл, проходящий по многим файлам, но бесполезный для больших файлов tar или операций копирования). Более быстрая состоит из двух функций: одна для подготовки строк к отображению строки:
preparebar() {
# $1 - bar length
# $2 - bar char
barlen=$1
barspaces=$(printf "%*s" "$1")
barchars=$(printf "%*s" "$1" | tr ' ' "$2")
}
и одна для отображения индикатора выполнения:
progressbar() {
# $1 - number (-1 for clearing the bar)
# $2 - max number
if [ $1 -eq -1 ]; then
printf "\r $barspaces\r"
else
barch=$(($1*barlen/$2))
barsp=$((barlen-barch))
printf "\r[%.${barch}s%.${barsp}s]\r" "$barchars" "$barspaces"
fi
}
Его можно использовать как:
preparebar 50 "#"
, что означает подготовку строк для строки с 50 символами "#", и после этого:
progressbar 35 80
отобразит количество символов "#", соответствующее соотношению 35/80 :
[##################### ]
Имейте в виду, что функция отображает полосу на одной и той же строке снова и снова, пока вы (или какая-либо другая программа) не напечатаете новую строку. Если в качестве первого параметра указать -1, полоса будет удалена:
progressbar -1 80
Более медленная версия все в одной функции:
progressbar() {
# $1 - number
# $2 - max number
# $3 - number of '#' characters
if [ $1 -eq -1 ]; then
printf "\r %*s\r" "$3"
else
i=$(($1*$3/$2))
j=$(($3-i))
printf "\r[%*s" "$i" | tr ' ' '#'
printf "%*s]\r" "$j"
fi
}
и ее можно использовать как ( тот же пример, что и выше):
progressbar 35 80 50
Если вам нужен прогрессбар на stderr, просто добавьте >&2
в конце каждой команды printf.
Скопируйте ISO-файл в другое место (Destop или домашний каталог). Затем отформатируйте usb в файловую систему FAT32 с помощью редактора разделов gparted.
Извлеките подвесной привод, а затем вставьте его снова.
Он автоматически смонтируется, а затем запускает приложение winusb
.
Выберите скопированный ISO-файл и создайте загрузочную флешку Windows.