Eu tenho o seguinte script de shell. O objetivo é percorrer cada linha do arquivo de destino (cujo caminho é o parâmetro de entrada para o script) e trabalhar em cada linha. Agora, parece funcionar apenas com a primeira linha no arquivo de destino e para depois que essa linha foi processada. Há algo de errado com meu 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"
Em do_work.sh
, executo alguns ssh
comandos.
source
e simplesmente sair ou exec
. Mas este código não parece genuíno, o OP notaria que o echo requer -e
para exibir o feed de linha corretamente ...
do_work.sh
executado ssh
por acaso?
do_work.sh
código fonte e também rodar do.sh
com set -x
para depurar.