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 08:40:10 -0200

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> 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> 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>>
> > 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
> ---------------------------------------------------------------------
> 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]