Pages : 1
#1 Le 22/02/2015, à 16:21
- Asakura-shin
barre de chargement
Bonjour,
pour mon script j'aimerais cree une vraix barre de chargement
script actuel:
#!/bin/bash
function timer
{
i=0
printf "["
while [ $i -le 4 ]
do
printf "=="
sleep 1
let i=$i+1
done
echo -e ">]"
}
#Update
apt-get -qq update
timer
echo -e "Update System [\033[32m OK \033[0m]\n"
j aimerais donc avoir une barre de chargement car la c'est juste un timer inutile aussi -qq fait que rien apparais fait expre pour laisser place a une barre de chargement des idée?
Dernière modification par Asakura-shin (Le 22/02/2015, à 21:36)
Hors ligne
#2 Le 22/02/2015, à 21:12
- Hizoka
Re : barre de chargement
FUSHIA="\033[1;35m"
RAZ="\e[m"
BLEUFONCE="\033[1;34m"
VERT="\033[0;32m"
ROUGE="\033[1;31m"
function superprogression
{
# ${1} : Pourcentage à afficher sans le signe %
# ${2} : argument ajouté à la fin
unset progression progression_barre
# Verifie que le chiffre ne depasse pas 100%
[[ ${1} != [0-9]* || ${1} -gt 100 ]] && return
# Ajoute un ou deux 0 si besoin
[[ ${1} == [0-9] ]] && progression=00${1}
[[ ${1} == [0-9][0-9] ]] && progression=0${1}
[[ ${1} == [0-9][0-9][0-9] ]] && progression=${1}
# Si le pourcentage est pair on y soustrait 1
(( (${1} % 2) == 1 )) && progression_barre=$(( (${1} - 1) / 2 ))
if [[ $(tput cols) -gt 150 ]]
then
# Utilisation de 50 caracteres = ou espaces
barre="===================================================================================================="
espace=" "
# Pas de division car la barre fait 100
progression_barre=${1}
largeur_max=100
elif [[ $(tput cols) -gt 100 ]]
then
# Utilisation de 50 caracteres = ou espaces
barre="=================================================="
espace=" "
# Division de la valeur par 2 car il y a 50 caracteres pour la barre
progression_barre=$(( ${1} / 2 ))
largeur_max=50
else
# Utilisation de 25 caracteres = ou espaces
barre="========================="
espace=" "
# Division de la valeur par 4 car il y a 25 caracteres pour la barre
progression_barre=$(( ${1} / 4 ))
largeur_max=25
fi
# Affichage du pourcentage, de la barre contenant soit des espaces soit des =
if [[ ${progression_barre} != ${largeur_max} ]]
then
echo -en "\r${VERT}${progression}%${RAZ} : ${FUSHIA}[${BLEUFONCE}${barre::${progression_barre}}${FUSHIA}>${espace:${progression_barre}}]${RAZ} ${2} "
else
echo -en "\r${VERT}${progression}%${RAZ} : ${FUSHIA}[${BLEUFONCE}${barre::${progression_barre}}=${FUSHIA}]${RAZ} ${2} \n"
fi
}
il te suffit d'appeler la commande superprogression
c'est à toi après de te débrouiller pour envoyer le pourcentage que tu veux afficher.
mais je viens de voir :
http://askubuntu.com/questions/445245/h … gress-bars
http://stackoverflow.com/questions/2649 … ogress-bar
Dernière modification par Hizoka (Le 22/02/2015, à 21:19)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#3 Le 22/02/2015, à 21:22
- pingouinux
Re : barre de chargement
Bonsoir Hizoka,
Pour info, si tu veux que le pourcentage écrit avec 3 chiffres soit affecté à la variable progression
printf -v progression "%03d" $1
Hors ligne
#4 Le 22/02/2015, à 21:36
- Asakura-shin
Re : barre de chargement
bon je testerais sa demain merci pour tout
Hors ligne
#5 Le 22/02/2015, à 21:46
- Hizoka
Re : barre de chargement
pingouinux => merci je ne connaissais pas ça.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
Pages : 1