Comment demander à un utilisateur une entrée à partir d'un Shell Shell (ksh) à l'intérieur d'une boucle dans laquelle un fichier est lu ?
Le script lit un fichier. A chaque passage de la boucle, on demande à l'utilisateur s'il veut annuler ou non ? La fonction fonctionne bien en dehors de la boucle. A l'intérieur de la boucle, la variable est remplie avec la ligne du fichier. Le script ne s'arrête pas pour une interaction.
Des idées ?
Le script :
######################################################
func_yesno(){
echo "cancel y/n?"
read answer
echo Your answer: $answer
case $answer in
y*|Y*) exit 0 ;;
n*|N*) echo ok ;;
*) echo wrong! ;;
esac
}
func_yesno
while read line
do
echo line: $line
func_yesno
done < /tmp/in.txt
func_yesno
######################################################
Le fichier d'entrée en .txt :
Koeln
Aachen
Muenchen
Hamburg
Berlin
Le résultat :
# /tmp/a.sh
cancel y/n?
n
Your answer: n
ok
line: Koeln
cancel y/n?
Your answer: Aachen
wrong!
line: Muenchen
cancel y/n?
Your answer: Hamburg
wrong!
line: Berlin
cancel y/n?
Your answer:
wrong!
cancel y/n?
n
Your answer: n
ok