[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"
- Telnet com Sqlplus, Carlos Ferreira, 2007/11/06
- Re: [shell-script] Telnet com Sqlplus,
Tiago Barcellos Peczenyj <=