Probleme boucle dans script bash

Fermé
thetataz - 16 janv. 2011 à 21:37
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 16 janv. 2011 à 22:57
Bonjour,

Je suis en train de me faire un script en bash, mais impossible de faire marcher ma boucle while, la voici :

rdiff-backup --list-at-time now backup::/mnt/save/SaveKyn/test > tmp.txt
NBLINE='rdiff-backup --list-at-time now backup::/mnt/save/SaveKyn/test | wc -l'
echo "il y a $NBLINE fichier(s) pouvant etre restaurer"

while [ $i > $NBLINE ]
do
echo "Res 'sed -n "$i p" tmp.txt' off \ " >> tmp2.txt
let "i = i + 1"
break
done


Il me retourne comme erreur a la ligne ou se trouve le while que NBLINE est un fichier ou un repertoire qui n'existe pas, j'ai essayé avec des guillemets autour des deux variables, sur l'une comme sur l'autre, toujours la meme erreur. Ensuite j'ai essayé avec -lt, mais la l'erreur est que NBLINE n'ai pas de type integer, alors que theoriquement si.

Comment faire SVP, merci d'avance.

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
16 janv. 2011 à 22:57
Salut,

Ensuite j'ai essayé avec -lt, mais la l'erreur est que NBLINE n'ai pas de type integer, alors que theoriquement si.
Affiche ta variable avec "echo $NBLINE" pour être sûr qu'elle est bien uniquement numérique...

Le signe ">" signifie plus grand que, alors que "-lt" signifie lether than (plus petit que), faudrait savoir ;-((

Ensuite, d'où sort la variable "$i" ? Elle n'est déclarée nulle part ;-\
0