diegoneto
(usa Outra)
Enviado em 07/02/2012 - 11:59h
Galera, eu estou com um erro um tanto estranho.
Tenho um script (script1) chamando outro script (script2).
O script2 foi feito em expect utilizando condições de retorno do telnet executado dentro dele. Há 3 condições para encerrar o arquivo e cada uma deles retorna ao script1 com return 0, exit 1 ou exit 2.
Logo após a execução do script2 há uma condição analisando a saída do return/exit (variável $?) que irá executar X comandos se $?=1, Y comandos se $?=2 e Z comandos se #?=0.
Quando eu elaborei o código, ele funcionava bem, mas agora ele está intermitente sem nenhum motivo aparente. Gostaria de saber se há algum caracter ñ impresso no #?, um buffer ou algo parecido.
Alguém tem alguma sugestão??
Segue abaixo o script2 do expect:
#!/usr/bin/expect -f
spawn telnet $OSS_IP $OSS_Porta
expect "Userid:$" {
send "$OSS_User\n"
expect "Password:$"
send "$OSS_Pass\n"
expect "NE:$"
send "NE=$MSC_HLR_Nome\n"
expect "<"
send "$Comando_Nome;\n"
if { "$Comando_Nome" == "SYRIP:LOG" } {
expect "<"
send -- \x4
expect "SUMMARY VIEW OF EVENTS FOR THE LAST 12 MONTHS"
return 0
expect eof
} else {
expect "<"
send "QUIT;\n"
expect "Connection"
return 0
expect eof
}
} "Unable to connect to remote host: Connection timed out" {
exit 1
expect eof
} "RESPONSE RECEPTION INTERRUPTED" {
exit 2
expect eof
}
Script1
Script/Expect_Telnet.exp > $PstResultMSC
if [ $? -eq 1 ]
then {
echo "$OSS_Nome $MSC_Nome $Comando_Nome OFFLINE" >> $PstResultErro$ArqResultOffline"_"$DataTexto".txt"
mv -f $PstResultMSC$Comando_Nome_Arq/"Temp"/$OSS_Nome"_"$MSC_Nome"_"$Comando_Nome_Arq"_"$DataTexto.txt $PstResultErro
echo "# OSS $OSS_Nome - MSC $MSC_Nome offline para o comando $Comando_Nome."
}
fi