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: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Telnet com Sqlplus
Date: Tue, 6 Nov 2007 21:42:55 -0200

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


reply via email to

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