Your SlideShare is downloading. ×
Automatizando tarefas shell ao máximo com Expect
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Automatizando tarefas shell ao máximo com Expect

6,133
views

Published on

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,133
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
50
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Automatizando tarefas shell ao máximo com Expect Leandro Nunes @nunesleandro http://leandronunes.org
  • 2. Agenda
    • Introdução
      • Por que automatizar ?
    • O que é Expect ?
    • 3. Tarefas comuns em TCL
    • 4. Exemplos, exemplos, exemplos...
    • 5. Considerações finais
  • 6. Por que automatizar ? Não perder seu tempo com tarefas repetitivas e automatizáveis
  • 7. Por que automatizar ? Otimizar a execução de teste de seus softwares
  • 8. O que é Expect ?
    • É uma ferramenta que automatiza a interação com aplicações de linha de comando, através de scripts TCL
    • 9. Pode interagir com aplicações gráficas através de TK
    • 10. Criada por Don Libes, funcionário do NIST
  • 11. O que é Expect ?
    • Spawn
      • Lança uma aplicação
    • Expect
      • Aguarda por uma string (pode ser informado na forma de expressão regular)
    • Send
      • Envia um retorno como se fosse o usuário
  • 12. Demonstrações
    • A hora em que tudo dá certo...
  • 13.  
  • 14. # lança a aplicacao que quero interagir spawn ssh localhost # aguarda a apresentação de uma mensagem qualquer, cujo final seja &quot;password:&quot; expect &quot;% password:&quot; #escreve &quot;minha_senha&quot; e pressiona <ENTER> send &quot;minha_senhar&quot; # espera que qualquer mensagem seja mostrada na tela expect &quot;%&quot; # escreve ls -lsa e pressiona <ENTER> send &quot;ls -lsar&quot; expect &quot;%&quot; send &quot;exitr &quot; # finaliza a execução expect eof
  • 15. Scripts expect executáveis ?
    • Tornar seu script expect como um executável é simples
    • 16. Adicione o seguinte a primeira linha
    • 17. Substitua pelo path do Expect na sua distribuição
    #!/usr/bin/expect
  • 18. Parâmetros linha de comando
    • Para receber parâmetros de linha de comando, utilize o vetor $argv
    • 19. O vetor começa em zero
      • set myVar [lindex $argv <parametro>]
    • Para mostrar dados na tela, debug, etc, utilize o seguinte
      • puts “$myVar”
  • 20. Usando expect em Shell script
    • Em seus Shell scripts você pode chamar a execução expect
    • 21. A vantagem disso é integrar scripts legados e compartilhar suas variáveis
      • expect -c “tarefas expect aqui”
  • 22. Considerações Finais
    • Se você não quiser usar TCL, pode usar Python, PERL ou C/C++
    • 23. Existe um port do Expect para Windows, usando o cygwin
    • 24. Estes slides estão disponíveis em http://leandronunes.org
  • 25. Links interessantes
    • http://rogerioferreira.objectis.net
    • 26. http://leandronunes.org

×