J'ai une petite section de code qui lit un fichier, $ FUNCTION_FILE, qui contient une liste de noms de fonctions au format:
func1
func2
func3
Il lira une ligne, exécutera la fonction et répétera jusqu'à ce que le fichier soit terminé. Voici un extrait:
while read line; do
LINE_NUMBER=`expr $LINE_NUMBER + 1`
echo "LINE_NUMBER=$LINE_NUMBER"
$func
done <$FUNCTION_FILE
Je me suis trouvé dans une situation où parfois cette section de code cesse de lire "$ FUNCTION_FILE" avant de terminer et continue avec le reste du script. Parfois, il ne lit que la première ligne et ignore le reste, parfois, la deuxième ligne seulement; Je ne vois jamais le message "LINE_NUMBER = $ LINE_NUMBER" pour les lignes suivantes.
En supposant que le fichier soit correct, quelles sont les causes possibles du problème que je vois?
$func
sont. S'il vous plaît nous montrer les fonctions réelles que vous exécutez, il n'y a aucun moyen que nous pouvons aider autrement.
exit
?