Como indicado em Shell: enquanto a linha de leitura aninhada , você pode faça algo como
(sed "s|^|@${SQL_HOME}/update_p.sql |" ${LST_HOME}/doc.lst; echo exit) | sqlplus64 ${UserCoribudg}/${PassCoribudg}@${ORACLE_SID}
Se você quiser executar um comando após cada atualização do SQL, poderá fazer um loop, embora haja várias restrições (globbing, etc.). Se os valores no seu doc.lst
estiverem seguros, você pode fazer
while read line; do
(echo @${SQL_HOME}/update_p.sql ${line}; echo exit) | sqlplus64 ${UserCoribudg}/${PassCoribudg}@${ORACLE_SID}
/data/java_1.6_XX/bin/java -cp fr.bla.bla.bla
done < ${LST_HOME}/doc.lst
sem precisar analisar cada linha.
Uma opção mais segura é transformar todo o arquivo em um script de shell:
sed "s|^|(echo @${SQL_HOME}/update_p.sql |" ${LST_HOME}/doc.lst | sed "s/$/; echo exit | sqlplus64/" | sed "s|$| ${UserCoribudg}/${PassCoribudg}@${ORACLE_SID}; /data/java_1.6_XX/bin/java -cp fr.bla.bla.bla|" > doc.script
sh doc.script