Tengo el siguiente script de shell. El propósito es recorrer cada línea del archivo de destino (cuya ruta es el parámetro de entrada al script) y trabajar en cada línea. Ahora, parece que solo funciona con la primera línea en el archivo de destino y se detiene después de que esa línea se procesó. ¿Hay algún problema con mi guión?
#!/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"
En do_work.sh
, ejecuto un par de ssh
comandos.
source
y simplemente salir o exec
. Pero este código no parece genuino, el OP notaría que el eco requiere -e
mostrar el avance de línea correctamente ...
do_work.sh
Corre ssh
por casualidad?
do_work.sh
origen y también ejecutar do.sh
con set -x
depurar.