J'ai le script shell suivant. Le but est de parcourir chaque ligne du fichier cible (dont le chemin est le paramètre d'entrée du script) et de travailler sur chaque ligne. Maintenant, il semble que cela ne fonctionne qu'avec la toute première ligne du fichier cible et s'arrête après le traitement de cette ligne. Y a-t-il un problème 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, j'exécute quelques sshcommandes.
sourceet simplement quitter ou exec. Mais ce code n'a pas l'air authentique, l'OP remarquerait que l'écho nécessite -ed'afficher correctement le
do_work.shN'exécuter sshpar hasard?
do_work.shsource et exécuter do.shavec set -xpour déboguer.