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: Carlos Ferreira
Subject: Re: [shell-script] Telnet com Sqlplus
Date: Wed, 7 Nov 2007 08:15:40 -0200

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]



reply via email to

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