m4iir1c10
(usa Arch Linux)
Enviado em 22/11/2011 - 19:13h
Voce pode usar o comando wait (espera) ou identificar o processo pelo pid
#!/bin/bash
declare seus comandos
#chame o script 2
$HOME/scripts/script2.sh
#declare que o script deve esperar a execucao terminar
wait
#segue a execucao
comando para gravar
usando o pid=
#!/bin/bash
declare seus comandos
#chame o script 2 e identifique o pid atravez do $!
$HOME/scripts/script2.sh $! > /tmp/script2.pid
#crie uma variavel para chegar se o pid esta rodando E enquanto estiver rodando com o loop while espere o script parar.
scriptid=$(cat /tmp/script2.pid)
verdadeiro=$(ps axo pid,cmd | grep $scriptid | awk '{print TRUE}')
while [ $verdadeiro = TRUE ]
do echo "esperando script2 terminar"
done
#remove o arquivo pid e continua
rm -f /tmp/script2.pid
segue o comando para gravar.
ha outra maneira de usar o pid do arquivo usando o comando pidof dentro de uma variavel, porem eu deixo a sua criatividade... eu nao sei se usar dois script e um criterio porem voce pode atingir o mesmo resultado usando apenas um script criando uma funcao executando ela e depois executando o demais comandos.
#/!bin/bash
comando para backup
function script2(){
comando do script 2
}
#chama a funcao
script2
comando para gravar