Ho il seguente script di shell. Lo scopo è di eseguire il ciclo attraverso ogni riga del file di destinazione (il cui percorso è il parametro di input dello script) e lavorare su ogni riga. Ora, sembra funzionare solo con la primissima riga nel file di destinazione e si ferma dopo che quella riga è stata elaborata. C'è qualcosa di sbagliato nel mio 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"
In do_work.sh
, eseguo un paio di ssh
comandi.
source
e semplicemente uscire o exec
. Ma questo codice non sembra autentico, l'OP -e
do_work.sh
gestito ssh
per caso?
do_work.sh
fonte e corri anche do.sh
con il set -x
debug.