While bash

Résolu
dixit40 Messages postés 645 Date d'inscription   Statut Membre Dernière intervention   -  
dixit40 Messages postés 645 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici mon code :

#!/bin/bash

while [ "$1 = 1" ]

do

echo " $1 existe "
done

quand j'exécute ma commande donc ./test "le nom du fichier"
cela me fait une boucle (jusque là tout vas bien) mais en théorie si je supprime le fichier la boucle devrait s'arrêter hors ce n'est pas le cas.

je ne comprends pas pourquoi ! Est ce que quelqu'un pourrait m'aider s'il vous plaît ?


2 réponses

laoshu Messages postés 1231 Date d'inscription   Statut Membre Dernière intervention   351
 
Bonjour,

Essaye avec :
while [ -f "$1" ]

Telle que tu l'as écrite, ta condition est toujours vraie ; puisqu'il n'y a qu'un terme.

Tu auras plus d'infos en tapant :
man test

bon courage
1
dixit40 Messages postés 645 Date d'inscription   Statut Membre Dernière intervention   57
 
Ah d'accord ok je comprends mieux maintenant merci beaucoup :D
0
Utilisateur anonyme
 
Bonjour,

Pour moi la syntaxe n'est pas bonne,

#!/bin/bash  

while [ "$1" = "1" ]; do echo " $1 existe"; done  


Mais comme ça ça ne fonctionne pas ?

#!/bin/bash  

while [ -e "$1" ]; do echo " $1 existe"; done  


Ps: j'ai tout mis sur une ligne plus de lisibilité.

♪♪ Slowin' Cleaner development, Windows Optimizer
0
dixit40 Messages postés 645 Date d'inscription   Statut Membre Dernière intervention   57
 
ça marche aussi :D merci pour votre aide
0