Le script de test suivant a un problème. Lorsque j'ajoute la ligne (sleep 5)&
dans le script, la boucle while read
ne lit pas toutes les lignes du fichier, mais imprime uniquement la première ligne. Mais lorsque je supprime le (sleep 5)&
du script, le script imprime toutes les lignes comme définies dans le fichierlors de la lecture boucle + créer aproccess dans la boucle while
Pourquoi le (sleep 5)&
provoque cela?
Et comment résoudre le problème? Je veux créer un nouveau processus (pour lequel le sommeil n'est qu'un exemple) dans la boucle while.
$ more test
#!/bin/ksh
while read -r line ; do
echo $line
(sleep 5)&
RESULT=$!
sleep 1
kill $RESULT
done < file
$ more file
123 aaa
234 bbb
556 ccc
Quelle version de ksh utilisez-vous? Je ne le vois pas sur ksh93t + comme Gilles l'a mentionné – tomkaith13