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 sshcomandos.
sourcee simplesmente sair ou exec. Mas este código não parece genuíno, o OP notaria que o echo requer -epara exibir o feed de linha corretamente ...
do_work.shexecutado sshpor acaso?
do_work.shcódigo fonte e também rodar do.shcom set -xpara depurar.