Script Shell tout en ligne de lecture de la boucle s'arrête après la première ligne

J'ai le script suivant. Le but est de boucler à travers chaque ligne du fichier cible (dont le chemin est le paramètre d'entrée pour le script) et de faire du travail à l'encontre de chaque ligne. Maintenant, il semble que seul le travail avec la première ligne du fichier cible et s'arrête au bout de cette ligne a obtenu traitées. Il n'y a rien de mal avec mon script?

#!/bin/bash
# SCRIPT: do.sh
# PURPOSE: loop thru the targets 

FILENAME=$1
count=0

echo "proceed with $FILENAME"

while read LINE; do
   let count++
   echo "$count $LINE"
   sh ./do_work.sh $LINE
done < $FILENAME

echo "\ntotal $count targets"

Dans do_work.sh, je lance un couple de ssh commandes.

  • Vous êtes sûr que c'est exactement le code que s'arrête après la première ligne?
  • Votre script est bien, mais il y a peut être quelque chose de mal avec l'do_work.sh
  • Oui, il peut manger jusqu'à l'entrée de tous, ou il peut être invoquée comme source et simplement la sortie ou exec. Mais ce code n'a pas l'air authentique, l'OP remarquez que l'écho nécessite -e pour afficher la ligne de nourrir correctement...
  • Ne do_work.sh exécuter ssh par hasard?
  • oui, do_work.sh exécute un couple ssh commandes. rien de spécial à ce sujet?
  • Mieux vous montrer la do_work.sh source et de les exécuter do.sh avec set -x à déboguer.

InformationsquelleAutor bcbishop | 2012-12-10