#!/bin/bash
exec 3<&0
while read fichier ; do
echo "supprimer le fichier $fichier ?[o/n]"
exec 4<&0
exec <&3
while read reponse ; do
if [ "$reponse" = "o" ] ; then
echo "on supprime le fichier >$fichier<"
break
elif [ "$reponse" = "n" ] ; then
echo "non, on passe au suivant"
break
fi
done
exec <&4
done << EOF
fichier1
fichier2
fichier3
fichier4
EOF
Le jeudi 24 septembre 2009 à 16:41 +0200, BRINER Cedric a écrit :
> Salut à tous amoureux du bash,
>
> comment faire dans ce genre de situation:
>
> #!/bin/bash
>
> while read fichier ; do
> echo "supprimer le fichier ${fichier} ?[o/n]"
> while read reponse ; do
> if [ "$reponse" = "o" ] ; then
> echo 'on supprime le fichier >${fichier}<'
> break
> elif [ "$reponse" = "n" ] ; then
> echo "non, on passe au suivant"
> break
> fi
> done
> done << EOF
> fichier1
> fichier2
> fichier3
> fichier4
> EOF
>
> --------------------
> je comprends le problème, c'est qu'on se retrouve avec 2 read qui lise
> la même sortie et l'un vide l'autre, ce qu'on remarque avec un simple
> echo dans le code
>
> #!/bin/bash
>
> while read fichier ; do
> echo "supprimer le fichier ${fichier} ?[o/n]"
> while read reponse ; do
> echo " - reponse fournie: ${reponse}"
> if [ "$reponse" = "o" ] ; then
> echo 'on supprime le fichier >${fichier}<'
> break
> elif [ "$reponse" = "n" ] ; then
> echo "non, on passe au suivant"
> break
> fi
> done
> done << EOF
> fichier1
> fichier2
> fichier3
> fichier4
> EOF
>
>
> --------------------
> mais comment faire alors ???
>
> cEd
> P.-S. Ca sent à plein fouet le exec, mais j'y comprends rien
> _______________________________________________
> gull mailing list
> [email protected]
> http://forum.linux-gull.ch/mailman/listinfo/gull
_______________________________________________
gull mailing list
[email protected]
http://forum.linux-gull.ch/mailman/listinfo/gull