shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Telnet com Sqlplus


From: Edjunior Machado
Subject: Re: [shell-script] Telnet com Sqlplus
Date: Wed, 7 Nov 2007 13:12:43 -0200

Hey Sr. Carlos,

<tentando advinhar...>
pelo log que você passou, parece que o seu script principal está
passando os parâmetros de forma errônea para o script expect:

> login: usuariosenhaORACLE_SID=sid_do_bancoasqlplus //dev/pts/3: 3004-038

Por acaso, os dados na frente de "login: " não seriam exatamente o que
você estava passando como parâmetro, porém concatenados?
Bem, em primeiro lugar, eu tentaria executar o script expect
manualmente, garantindo que o mesmo está correto. Em seguida,
verificaria como ele está sendo chamado pelo script principal.

Aproveitando, uma dica (na verdade não tenho certeza se é necessário;
apesar de cair mais no expect, talvez fugindo de escopo, alguém da
poderia corrigir caso esteja incorreto): nos comandos de "send" do
expect, acredito que você precisa enviar também o '\r', simulando o
seu "Enter" após preenchimento do campo, como em:

> send "$user\r"


Hasta!


jr.

On Nov 7, 2007 9:14 AM, Carlos Ferreira <address@hidden> wrote:
> Edjunior,
> realmente o erro era o comentário na mesma linha, obrigado pela ajuda, mas
> agora estou chegando até o login no telnet e a senha não é passada, fica
> esperando a senha até que ele escreve todos os outros comandos na mesma
> linha e cai.
> o erro:
> AIX Version 5
> (C) Copyrights by IBM and by others 1982, 2007.
> login: usuariosenhaORACLE_SID=sid_do_bancoasqlplus //dev/pts/3: 3004-038
> Login timed out after 60 seconds.
>
> Connection closed by foreign host
>
> []s
>
> Carlos Ferreira
>
> Em 07/11/07, Edjunior Machado <address@hidden> escreveu:
> >
> >   Hey Sr. Carlos,
> >
> > apesar de não ter muito know-how no assunto, creio que esse é um
> > problema no seu script em expect. Procure eliminar os comentários de
> > final de linha (as frases após '#') ou deixá-los em uma linha sem
> > código. Por exemplo, tente substituir:
> >
> > set ip [lindex $argv 0] # primeiro argumento
> > set user [lindex $argv 1] # segundo... etc
> >
> > por
> >
> > # primeiro argumento
> > set ip [lindex $argv 0]
> > # segundo... etc
> > set user [lindex $argv 1]
> >
> > Espero ter ajudado.
> > Hasta!
> >
> > jr.
> >
> >
> > On Nov 7, 2007 8:15 AM, Carlos Ferreira 
> > <address@hidden<chlferreira%40gmail.com>>
>
> > wrote:
> > > Tiago,
> > > primeiramente obrigado pela ajuda, mas estou recebendo o seguinte erro:
> > > wrong # args: should be "set varName ?newValue?
> > > while executing
> > > "set ip [lindex $argv 0] # primeiro argumento"
> > > (file "./conexao" line 4)
> > >
> > > Meu código:
> > > #!/bin/bash
> > > # Programa para conectar e abrir sqlplus
> > > #
> > >
> > > ######### INICIAR VARIAVEIS ##############
> > > vl_arqconf=tnsnames.txt
> > > vl_banco=`tr 'A-Z' 'a-z' <<< $1`
> > > ######### FUNÇÔES ########################
> > >
> > >
> > > ######### INICIAR PROGRAMA ###############
> > >
> > > vl_ip=`cat $vl_arqconf | grep -i $vl_banco | cut -f2 -d\;`
> > > echo $vl_ip
> > > ./conexao ${vl_ip} USUARIO SENHA "ORACLE_SID=${vl_banco}a"
> > >
> > > ########## FIM DO PROGRAMA ###############
> > >
> > > #!/usr/bin/expect
> > > set timeout 20
> > >
> > > set ip [lindex $argv 0] # primeiro argumento
> > > set user [lindex $argv 1] # segundo... etc
> > > set password [lindex $argv 2]
> > > set oracmd [lindex $argv 3]
> > >
> > > spawn telnet $ip # aqui ele 'pega' o telnet
> > >
> > > expect "login:" # aha, pediu o login?
> > > send "$user " # toma o username do cara!
> > >
> > > expect "password:" # mesma coisa.
> > > send "$password " # facil não?
> > >
> > > send "$oracmd" # agora aquele toque final
> > > send "sqlplus /"
> > >
> > > interact # E aqui devolve a interação para o usuario
> > >
> > > []s
> > >
> > > Carlos Ferreira
> > >
> > > Em 06/11/07, Tiago Barcellos Peczenyj 
> > > <address@hidden<tiago.peczenyj%40gmail.com>>
>
> > escreveu:
> > > >
> > > > use Expect:
> > > >
> > > > Inspirado aqui:
> > > > http://www.osix.net/modules/article/?id=30
> > > >
> > > > #!/bin/bash
> > > > vl_arqconf=tnsnames.txt
> > > > vl_banco=`tr 'A-Z' 'a-z' <<< $1`
> > > >
> > > > vl_ip=`grep -i $vl_banco $vl_arqconf | cut -f2 -d\;`
> > > >
> > > > ./conexao ${vl_ip} usuario senha "ORACLE_SID=${vl_banco}a"
> > > >
> > > > script 'conexao' abaixo:
> > > > #!/usr/bin/expect
> > > > set timeout 20
> > > >
> > > > set ip [lindex $argv 0] # primeiro argumento
> > > > set user [lindex $argv 1] # segundo... etc
> > > > set password [lindex $argv 2]
> > > > set oracmd [lindex $argv 3]
> > > >
> > > > spawn telnet $ip # aqui ele 'pega' o telnet
> > > >
> > > > expect "login:" # aha, pediu o login?
> > > > send "$user " # toma o username do cara!
> > > >
> > > > expect "assword:" # mesma coisa.
> > > > send "$password " # facil não?
> > > >
> > > > send "$oracmd" # agora aquele toque final
> > > > send "sqlplus /"
> > > >
> > > > interact # E aqui devolve a interação para o usuario
> > > > On Nov 6, 2007 5:19 PM, Carlos Ferreira 
> > > > <address@hidden<chlferreira%40gmail.com>
> > <chlferreira%40gmail.com>>
> > > > wrote:
> > > > >
> > > > > Pessoal
> > > > > estou com o seguinte problema, fiz o script abaixo dentro de um
> > script
> > > > > shell:
> > > > > #!/bin/bash
> > > > > # Programa para conectar e abrir sqlplus
> > > > > #
> > > > >
> > > > > ######### INICIAR VARIAVEIS ##############
> > > > > vl_arqconf=tnsnames.txt
> > > > > vl_banco=`echo $1 | tr 'A-Z' 'a-z'`
> > > > >
> > > > > ######### INICIAR PROGRAMA ###############
> > > > > vl_ip=`cat $vl_arqconf | grep -i $vl_banco | cut -f2 -d\;`
> > > > >
> > > > > (echo usuario; sleep 3; echo senha; sleep 3; echo
> > > > > ORACLE_SID=${vl_banco}a; sleep 3; echo sqlplus /; sleep 3) | telnet
> > > > > ${vl_ip}
> > > > >
> > > > > ####### fim do script ###################
> > > > >
> > > > > Acontece que eu queria que o script me deixasse o sqlplus aberto na
> > > > > tela, mas isto não acontece, alguma sugestão?
> > > > >
> > > > > Desde ja agradeço a atenção de todos.
> > > > >
> > > > > []s
> > > > >
> > > > > Carlos Ferreira
> > > > >
> > > > >
> > > >
> > > > --
> > > > Tiago B Peczenyj
> > > > Linux User #405772
> > > >
> > > > http://peczenyj.blogspot.com/
> > > > "what does not kill us makes us stronger"
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Carlos Ferreira
> > > Analista de Desenvolvimento
> > > Niterói - RJ - Brasil
> > > LinuxUser #271002
> > > http://www.carnivorosemdentes.blogger.com.br/
> > > ================
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > prévio aviso.
> > > ----------------------------------------------------------
> > > Sair da lista: 
> > > address@hidden<shell-script-unsubscribe%40yahoogrupos.com.br>
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
> >
> >
>
>
>
> --
>
> Carlos Ferreira
> Analista de Desenvolvimento
> Niterói - RJ - Brasil
> LinuxUser  #271002
> http://www.carnivorosemdentes.blogger.com.br/
> ================
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]