Ajouter un éspace entre deux caracteres

[quote=“agentsteel”][quote=“MisterFreez”]
@agentsteel> Je connais mal dialog. C’est peut être très bien, mais c’est une dépendance pas forcément nécessaire du moins si c’est juste pour faire attendre 100s. J’ai regardé vite fait, peut être que le mixedgauge pourrait le faire, mais vite fait j’ai pas bien compris comment ça fonctionne (et j’aime pas les interfaces curses).[/quote]
je ne connais pas bien non plus mais il y a des exemple dans /usr/share/doc/dialog/examples

cd /usr/share/doc/dialog/examples sh gauge [/quote]
Ouai et à part d’utiliser du ncurse ça n’apporte pas beaucoup de facilités. L’API est assez proche de ce que je propose.
Après c’est pas nul non plus.

Tu est loin d’etre un boulet ! ^^ je suis pas sur mon poste des que je rentre je te redis si ca fonctionne :slightly_smiling:
Par contre as tu une idee pour afficher egalement ma fonction timmer en meme temp que la progression ?
Mon timmer:

timmer() {
for compteur in $(seq 1 3600)
do
    sleep 1
    echo -ne "\033[$()G"
    if [ $compteur -gt 59 ]
    then
        let min=compteur/60 # division entière
        let sec=compteur%60 # reste ou modulo
        echo -n "$min:$sec "
    else echo -n "$compteur "
    fi
done
}

Bonjour, avec ce beau matin du début de [strike]printemps[/strike] j’ai pu réfléchir la tête froide au code.
Si je peux me permettre est-ce qu’il n’y aurais pas une erreur ici: :115

printf "[%s%s]" "${[b]progress[/b]:0:$progress}  

Personnellement je remplacerais progress par bar nan ?

Si. Pour le compteur, je ne comprends pas très bien le résultat que tu souhaite obtenir.

Peut être ceci sera plus explicite:
http://www.hostingpics.net/viewer.php?id=758926Capture.png
sur l’affichage général je voudrais que le trimmer soit a gauche et a droite la barre de progression.

Bon après maintes réflexions je crois que je vais laisser tomber ce projet ^^
Je commence légèrement a désespérer…
Merci a toi Misterfreez pour ton aide !!
Toute fois si quelqu’un est curieux de vouloir tester je met a disposition tout le code:
Le but final étais de:

  • Réaliser une barre de progression qui affiche l’état d’une sauvegarde tar.
  • A coté de cette barre de progression y ajouté un timmer qui permet d’afficher le temps passé a sauvegarder.

Voici le code pour les acharnés du bash :023 :

#/bin/bash
timmer() { # fonction
for compteur in $(seq 1 3600)# de 1 a 3600 soit 1heure
do
    sleep 1 # chaque seconde
    echo -ne "\033[$()G"# remplace chaque caractere sur la meme ligne
    if [ $compteur -gt 59 ] # si compteur plus grand que 59
    then
        let min=compteur/60 # division entière
        let sec=compteur%60 # reste ou modulo
        echo -n "$min:$sec " # on affiche la minute
    else echo -n "$compteur " # on affiche les secondes
    fi
done
}
function progress() { # fonction progress qui va printer les '='
   local fin=$(tput cols) # on compte le nombre de colones de l'ecran
   local test=$(($fin-2)) # on retire a ce nombre les caracteres '[]'
   local bar='============================================================================================================================================================================================================================='
   local empty="${bar//=/ }" # remplace les = par ' ' on initie tout d'abord un espacement [           ] avent de le remplir
   progress=${1:-$(($progress+10))} # permet de appeler la variable et de lui donner un parametre soit progress 5 ==> 5%
   echo -ne "\033[$()G"
   printf "[%s%s]" "${bar:0:$progress}" "${empty:0:$test-$progress}" # affiche la barre. 
}

function calc () { # calcule le pourcentage deja copié avec celui qui reste a copier
local fin=$(tput cols) # on compte le nombre de colones de l'ecran
local test=$(($fin-2)) # on retire a ce nombre les caracteres '[]'
local purcentfen=$(($test/100)) # calcule le poucentage pour un '='
destination=$(du -sk $dest | cut -d '/' -f1) # calcule la taille du repertoire de destination
purcentdata=$(echo "scale=0;($destination * 100) / $source" | bc -l) # calcule le pourcentage de données transferés
nbegale=$(echo "scale=0;($purcentfen*$purcentdata)" | bc -l) # nombre d'egale a afficher
}
rep='/repertoire source' # repertoire source 
dest='/repertoire dest' # repertoire de destination
source=$(du -sk $rep | cut -d '/' -f1 ) # taille du répertoire total
calc # appel a la fonction calc
progress $nbegale # on affiche le nombre d'egales par raport a ce que l'on a deja copié.
#tar -zcf $dest/save.tar.gz $rep

Bonne lecture :wink: j’espère avoir été assez clair … sinon n’hésitez pas a me demander.
ps: Je décline toute responsabilité en cas de ,mal de crâne, ou de cécité :033