SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web




               Bash para Desenvolvedores
Abrindo possibilidades com as habilidades de desenvolvimento


                             Fábio Chicout1

         1
             Coordenação de Análise e Desenvolvimento de Sistemas
                                  Unibratec


         15/09/2011 / II Jornada Acadêmica 2011.2




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                         Sintaxe
                     Aplicações
                            GUI
                            Web


Outline


  1   Introdução

  2   Sintaxe

  3   Aplicações

  4   GUI

  5   Web




                   Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Histórico




      1a Versão: Stephen L. Bourne (AT&T, 1974);
      Influenciou outros Shells (csh, tcsh);
      Influenciou a necessidade do padrão POSIX (1003.2);
      FSS abraça o projeto e Brian Fox lança o Bourne Again SHell
      (bash);
      Versão atual 4.2.10.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Histórico




      1a Versão: Stephen L. Bourne (AT&T, 1974);
      Influenciou outros Shells (csh, tcsh);
      Influenciou a necessidade do padrão POSIX (1003.2);
      FSS abraça o projeto e Brian Fox lança o Bourne Again SHell
      (bash);
      Versão atual 4.2.10.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Histórico




      1a Versão: Stephen L. Bourne (AT&T, 1974);
      Influenciou outros Shells (csh, tcsh);
      Influenciou a necessidade do padrão POSIX (1003.2);
      FSS abraça o projeto e Brian Fox lança o Bourne Again SHell
      (bash);
      Versão atual 4.2.10.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Histórico




      1a Versão: Stephen L. Bourne (AT&T, 1974);
      Influenciou outros Shells (csh, tcsh);
      Influenciou a necessidade do padrão POSIX (1003.2);
      FSS abraça o projeto e Brian Fox lança o Bourne Again SHell
      (bash);
      Versão atual 4.2.10.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Histórico




      1a Versão: Stephen L. Bourne (AT&T, 1974);
      Influenciou outros Shells (csh, tcsh);
      Influenciou a necessidade do padrão POSIX (1003.2);
      FSS abraça o projeto e Brian Fox lança o Bourne Again SHell
      (bash);
      Versão atual 4.2.10.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Instalação



      Linux
             Geralmente nada a ser feito. Vem por padrão;
      Mac
             Geralmente nada a ser feito. Vem por padrão;
      Windows
             Não é o padrão. Pode ser instalado via Cygwin ou Mingw, com
             limitações de expressividade e compatibilidade.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Instalação



      Linux
             Geralmente nada a ser feito. Vem por padrão;
      Mac
             Geralmente nada a ser feito. Vem por padrão;
      Windows
             Não é o padrão. Pode ser instalado via Cygwin ou Mingw, com
             limitações de expressividade e compatibilidade.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Instalação



      Linux
             Geralmente nada a ser feito. Vem por padrão;
      Mac
             Geralmente nada a ser feito. Vem por padrão;
      Windows
             Não é o padrão. Pode ser instalado via Cygwin ou Mingw, com
             limitações de expressividade e compatibilidade.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                            Sintaxe
                        Aplicações
                               GUI
                               Web


Características




  Fracamente tipada
                      Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


Características




  Estimula a preguiça sadia!

                           Fábio Chicout     Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


Características




  Integradora de tecnologias!

                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


IDE




      Dispensável. . .
      Programas pequenos, pontuais;
      Forte modularização;
      Voltado principalmente para administração do sistema;
      Flexibilidade e reuso extremos!
      Poucas regras que criam muitas possibilidades;
      VIm, emacs, notepad,. . . são mais que suficientes.



                          Fábio Chicout    Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


IDE




      Dispensável. . .
      Programas pequenos, pontuais;
      Forte modularização;
      Voltado principalmente para administração do sistema;
      Flexibilidade e reuso extremos!
      Poucas regras que criam muitas possibilidades;
      VIm, emacs, notepad,. . . são mais que suficientes.



                          Fábio Chicout    Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


IDE




      Dispensável. . .
      Programas pequenos, pontuais;
      Forte modularização;
      Voltado principalmente para administração do sistema;
      Flexibilidade e reuso extremos!
      Poucas regras que criam muitas possibilidades;
      VIm, emacs, notepad,. . . são mais que suficientes.



                          Fábio Chicout    Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


IDE




      Dispensável. . .
      Programas pequenos, pontuais;
      Forte modularização;
      Voltado principalmente para administração do sistema;
      Flexibilidade e reuso extremos!
      Poucas regras que criam muitas possibilidades;
      VIm, emacs, notepad,. . . são mais que suficientes.



                          Fábio Chicout    Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


IDE




      Dispensável. . .
      Programas pequenos, pontuais;
      Forte modularização;
      Voltado principalmente para administração do sistema;
      Flexibilidade e reuso extremos!
      Poucas regras que criam muitas possibilidades;
      VIm, emacs, notepad,. . . são mais que suficientes.



                          Fábio Chicout    Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


IDE




      Dispensável. . .
      Programas pequenos, pontuais;
      Forte modularização;
      Voltado principalmente para administração do sistema;
      Flexibilidade e reuso extremos!
      Poucas regras que criam muitas possibilidades;
      VIm, emacs, notepad,. . . são mais que suficientes.



                          Fábio Chicout    Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


IDE




      Dispensável. . .
      Programas pequenos, pontuais;
      Forte modularização;
      Voltado principalmente para administração do sistema;
      Flexibilidade e reuso extremos!
      Poucas regras que criam muitas possibilidades;
      VIm, emacs, notepad,. . . são mais que suficientes.



                          Fábio Chicout    Bash para Desenvolvedores
Introdução
                              Sintaxe
                          Aplicações
                                 GUI
                                 Web


Variáveis




      nome=valor
      São acessadas com um $ antes do nome;
      Ficam guardadas globalmente, ou no tempo de execução d’um
      script;
      Obs.: Scripts são comandos customizados. Só recebem até 10
      parâmetros.




                        Fábio Chicout   Bash para Desenvolvedores
Introdução
                              Sintaxe
                          Aplicações
                                 GUI
                                 Web


Variáveis




      nome=valor
      São acessadas com um $ antes do nome;
      Ficam guardadas globalmente, ou no tempo de execução d’um
      script;
      Obs.: Scripts são comandos customizados. Só recebem até 10
      parâmetros.




                        Fábio Chicout   Bash para Desenvolvedores
Introdução
                              Sintaxe
                          Aplicações
                                 GUI
                                 Web


Variáveis




      nome=valor
      São acessadas com um $ antes do nome;
      Ficam guardadas globalmente, ou no tempo de execução d’um
      script;
      Obs.: Scripts são comandos customizados. Só recebem até 10
      parâmetros.




                        Fábio Chicout   Bash para Desenvolvedores
Introdução
                              Sintaxe
                          Aplicações
                                 GUI
                                 Web


Variáveis




      nome=valor
      São acessadas com um $ antes do nome;
      Ficam guardadas globalmente, ou no tempo de execução d’um
      script;
      Obs.: Scripts são comandos customizados. Só recebem até 10
      parâmetros.




                        Fábio Chicout   Bash para Desenvolvedores
Introdução
                            Sintaxe
                        Aplicações
                               GUI
                               Web


Redirect




           Figura: Código Java para criar arquivo Texto.

                      Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


Redirect




      Leva conteúdo da saída de um comando para outra área
      Arquivos, Tela, Saída de Erros, Logs,. . .
      echo “Texto que será escrito” > Arquivo.txt




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


Redirect




      Leva conteúdo da saída de um comando para outra área
      Arquivos, Tela, Saída de Erros, Logs,. . .
      echo “Texto que será escrito” > Arquivo.txt




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


Redirect




      Leva conteúdo da saída de um comando para outra área
      Arquivos, Tela, Saída de Erros, Logs,. . .
      echo “Texto que será escrito” > Arquivo.txt




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


Pipes



        “Encanamento!”
        Leva a saída de um comando como a entrada de outro comando!




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


Pipes



        “Encanamento!”
        Leva a saída de um comando como a entrada de outro comando!




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


Pipes



        “Encanamento!”
        Leva a saída de um comando como a entrada de outro comando!




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


grep




       Ferramenta para pesquisa em arquivos texto;
       Usa expressões regulares;
       Variantes: zgrep, pgrep;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


grep




       Ferramenta para pesquisa em arquivos texto;
       Usa expressões regulares;
       Variantes: zgrep, pgrep;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


grep




       Ferramenta para pesquisa em arquivos texto;
       Usa expressões regulares;
       Variantes: zgrep, pgrep;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


grep




       Ferramenta para pesquisa em arquivos texto;
       Usa expressões regulares;
       Variantes: zgrep, pgrep;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


awk




      Ferramenta para buscar padrões e executar processamento;
      Possui uma linguagem própria;
      Útil para buscar dados de arquivos tabulares;
      Pode carregar scripts próprios em arquivos externos ou embutir
      na sua chamada.




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


awk




      Ferramenta para buscar padrões e executar processamento;
      Possui uma linguagem própria;
      Útil para buscar dados de arquivos tabulares;
      Pode carregar scripts próprios em arquivos externos ou embutir
      na sua chamada.




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


awk




      Ferramenta para buscar padrões e executar processamento;
      Possui uma linguagem própria;
      Útil para buscar dados de arquivos tabulares;
      Pode carregar scripts próprios em arquivos externos ou embutir
      na sua chamada.




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


awk




      Ferramenta para buscar padrões e executar processamento;
      Possui uma linguagem própria;
      Útil para buscar dados de arquivos tabulares;
      Pode carregar scripts próprios em arquivos externos ou embutir
      na sua chamada.




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


sed




      Ferramenta para editar texto pela linha de comando;
      Comandos baseados em partes;
      Imperativa;
      Adicionar texto, remover texto, alterar texto;
      Efetivando no arquivo ou ’whatif mode’;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


sed




      Ferramenta para editar texto pela linha de comando;
      Comandos baseados em partes;
      Imperativa;
      Adicionar texto, remover texto, alterar texto;
      Efetivando no arquivo ou ’whatif mode’;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


sed




      Ferramenta para editar texto pela linha de comando;
      Comandos baseados em partes;
      Imperativa;
      Adicionar texto, remover texto, alterar texto;
      Efetivando no arquivo ou ’whatif mode’;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


sed




      Ferramenta para editar texto pela linha de comando;
      Comandos baseados em partes;
      Imperativa;
      Adicionar texto, remover texto, alterar texto;
      Efetivando no arquivo ou ’whatif mode’;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


sed




      Ferramenta para editar texto pela linha de comando;
      Comandos baseados em partes;
      Imperativa;
      Adicionar texto, remover texto, alterar texto;
      Efetivando no arquivo ou ’whatif mode’;




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


dialog



         Construção de Interface gráfica em modo texto;
         Comandos simples que criam interfaces de comunicação com
         outros;
         Resultados enviados para a saída de erro do bash;
         calendário, checklist, seleção de diretórios, textbox, seleção de
         arquivos, barras de progresso, caixas de mensagens, edição de
         arquivos, menus, campos de senha, radio buttons, e outros
         componentes úteis.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


dialog



         Construção de Interface gráfica em modo texto;
         Comandos simples que criam interfaces de comunicação com
         outros;
         Resultados enviados para a saída de erro do bash;
         calendário, checklist, seleção de diretórios, textbox, seleção de
         arquivos, barras de progresso, caixas de mensagens, edição de
         arquivos, menus, campos de senha, radio buttons, e outros
         componentes úteis.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


dialog



         Construção de Interface gráfica em modo texto;
         Comandos simples que criam interfaces de comunicação com
         outros;
         Resultados enviados para a saída de erro do bash;
         calendário, checklist, seleção de diretórios, textbox, seleção de
         arquivos, barras de progresso, caixas de mensagens, edição de
         arquivos, menus, campos de senha, radio buttons, e outros
         componentes úteis.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


dialog



         Construção de Interface gráfica em modo texto;
         Comandos simples que criam interfaces de comunicação com
         outros;
         Resultados enviados para a saída de erro do bash;
         calendário, checklist, seleção de diretórios, textbox, seleção de
         arquivos, barras de progresso, caixas de mensagens, edição de
         arquivos, menus, campos de senha, radio buttons, e outros
         componentes úteis.




                             Fábio Chicout   Bash para Desenvolvedores
Introdução
             Sintaxe
         Aplicações
                GUI
                Web




DEMO




       Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


zenity


         Construção de Interface gráfica sobre um servidor X;
         Comandos simples que se interfaces de comunicação com
         outros;
         calendário, textbox, mensagem de erro, mensagem informativa,
         seleção de arquivos, listas, notificações, barras de progresso,
         caixa de pergunta, caixa de aviso (warning), caixa de seleção de
         cor, campo de senha.
         Menos abrangente que o dialog;
         Precisa de interface gráfica executando.



                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


zenity


         Construção de Interface gráfica sobre um servidor X;
         Comandos simples que se interfaces de comunicação com
         outros;
         calendário, textbox, mensagem de erro, mensagem informativa,
         seleção de arquivos, listas, notificações, barras de progresso,
         caixa de pergunta, caixa de aviso (warning), caixa de seleção de
         cor, campo de senha.
         Menos abrangente que o dialog;
         Precisa de interface gráfica executando.



                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


zenity


         Construção de Interface gráfica sobre um servidor X;
         Comandos simples que se interfaces de comunicação com
         outros;
         calendário, textbox, mensagem de erro, mensagem informativa,
         seleção de arquivos, listas, notificações, barras de progresso,
         caixa de pergunta, caixa de aviso (warning), caixa de seleção de
         cor, campo de senha.
         Menos abrangente que o dialog;
         Precisa de interface gráfica executando.



                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


zenity


         Construção de Interface gráfica sobre um servidor X;
         Comandos simples que se interfaces de comunicação com
         outros;
         calendário, textbox, mensagem de erro, mensagem informativa,
         seleção de arquivos, listas, notificações, barras de progresso,
         caixa de pergunta, caixa de aviso (warning), caixa de seleção de
         cor, campo de senha.
         Menos abrangente que o dialog;
         Precisa de interface gráfica executando.



                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                   Sintaxe
                               Aplicações
                                      GUI
                                      Web


zenity


         Construção de Interface gráfica sobre um servidor X;
         Comandos simples que se interfaces de comunicação com
         outros;
         calendário, textbox, mensagem de erro, mensagem informativa,
         seleção de arquivos, listas, notificações, barras de progresso,
         caixa de pergunta, caixa de aviso (warning), caixa de seleção de
         cor, campo de senha.
         Menos abrangente que o dialog;
         Precisa de interface gráfica executando.



                             Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


CGI




      Common Gateway Interface;
      Historicamente, a primeira abstração para aplicações web;
      Suportado por qualquer servidor Web;
      Arquivos com código fazendo dump de texto plano. Naturalmente
      ’spaghetti code’;




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


CGI




      Common Gateway Interface;
      Historicamente, a primeira abstração para aplicações web;
      Suportado por qualquer servidor Web;
      Arquivos com código fazendo dump de texto plano. Naturalmente
      ’spaghetti code’;




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


CGI




      Common Gateway Interface;
      Historicamente, a primeira abstração para aplicações web;
      Suportado por qualquer servidor Web;
      Arquivos com código fazendo dump de texto plano. Naturalmente
      ’spaghetti code’;




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                Sintaxe
                            Aplicações
                                   GUI
                                   Web


CGI




      Common Gateway Interface;
      Historicamente, a primeira abstração para aplicações web;
      Suportado por qualquer servidor Web;
      Arquivos com código fazendo dump de texto plano. Naturalmente
      ’spaghetti code’;




                          Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


CGI - Instalando



      LoadModule cgi_module modules/mod_cgi.so




      ScriptAlias /cgi-bin/ “/var/www/cgi-bin”




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


CGI - Instalando



      LoadModule cgi_module modules/mod_cgi.so




      ScriptAlias /cgi-bin/ “/var/www/cgi-bin”




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                                 Sintaxe
                             Aplicações
                                    GUI
                                    Web


CGI - Instalando



      LoadModule cgi_module modules/mod_cgi.so




      ScriptAlias /cgi-bin/ “/var/www/cgi-bin”




                           Fábio Chicout   Bash para Desenvolvedores
Introdução
                               Sintaxe
                           Aplicações
                                  GUI
                                  Web


CGI - Programando




     Primeiras linhas:
          “shebang”
          echo -e “Content-Type:                  text/html”
     Processamento de Formulários: read




                         Fábio Chicout   Bash para Desenvolvedores
Introdução
                               Sintaxe
                           Aplicações
                                  GUI
                                  Web


CGI - Programando




     Primeiras linhas:
          “shebang”
          echo -e “Content-Type:                  text/html”
     Processamento de Formulários: read




                         Fábio Chicout   Bash para Desenvolvedores
Introdução
                               Sintaxe
                           Aplicações
                                  GUI
                                  Web


CGI - Programando




     Primeiras linhas:
          “shebang”
          echo -e “Content-Type:                  text/html”
     Processamento de Formulários: read




                         Fábio Chicout   Bash para Desenvolvedores
Introdução
                               Sintaxe
                           Aplicações
                                  GUI
                                  Web


Segurança do CGI




     Shell Injection!
     Solução: UrlDecoder




                        Fábio Chicout    Bash para Desenvolvedores

Weitere ähnliche Inhalte

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Bash for Developers

  • 1. Introdução Sintaxe Aplicações GUI Web Bash para Desenvolvedores Abrindo possibilidades com as habilidades de desenvolvimento Fábio Chicout1 1 Coordenação de Análise e Desenvolvimento de Sistemas Unibratec 15/09/2011 / II Jornada Acadêmica 2011.2 Fábio Chicout Bash para Desenvolvedores
  • 2. Introdução Sintaxe Aplicações GUI Web Outline 1 Introdução 2 Sintaxe 3 Aplicações 4 GUI 5 Web Fábio Chicout Bash para Desenvolvedores
  • 3. Introdução Sintaxe Aplicações GUI Web Histórico 1a Versão: Stephen L. Bourne (AT&T, 1974); Influenciou outros Shells (csh, tcsh); Influenciou a necessidade do padrão POSIX (1003.2); FSS abraça o projeto e Brian Fox lança o Bourne Again SHell (bash); Versão atual 4.2.10. Fábio Chicout Bash para Desenvolvedores
  • 4. Introdução Sintaxe Aplicações GUI Web Histórico 1a Versão: Stephen L. Bourne (AT&T, 1974); Influenciou outros Shells (csh, tcsh); Influenciou a necessidade do padrão POSIX (1003.2); FSS abraça o projeto e Brian Fox lança o Bourne Again SHell (bash); Versão atual 4.2.10. Fábio Chicout Bash para Desenvolvedores
  • 5. Introdução Sintaxe Aplicações GUI Web Histórico 1a Versão: Stephen L. Bourne (AT&T, 1974); Influenciou outros Shells (csh, tcsh); Influenciou a necessidade do padrão POSIX (1003.2); FSS abraça o projeto e Brian Fox lança o Bourne Again SHell (bash); Versão atual 4.2.10. Fábio Chicout Bash para Desenvolvedores
  • 6. Introdução Sintaxe Aplicações GUI Web Histórico 1a Versão: Stephen L. Bourne (AT&T, 1974); Influenciou outros Shells (csh, tcsh); Influenciou a necessidade do padrão POSIX (1003.2); FSS abraça o projeto e Brian Fox lança o Bourne Again SHell (bash); Versão atual 4.2.10. Fábio Chicout Bash para Desenvolvedores
  • 7. Introdução Sintaxe Aplicações GUI Web Histórico 1a Versão: Stephen L. Bourne (AT&T, 1974); Influenciou outros Shells (csh, tcsh); Influenciou a necessidade do padrão POSIX (1003.2); FSS abraça o projeto e Brian Fox lança o Bourne Again SHell (bash); Versão atual 4.2.10. Fábio Chicout Bash para Desenvolvedores
  • 8. Introdução Sintaxe Aplicações GUI Web Instalação Linux Geralmente nada a ser feito. Vem por padrão; Mac Geralmente nada a ser feito. Vem por padrão; Windows Não é o padrão. Pode ser instalado via Cygwin ou Mingw, com limitações de expressividade e compatibilidade. Fábio Chicout Bash para Desenvolvedores
  • 9. Introdução Sintaxe Aplicações GUI Web Instalação Linux Geralmente nada a ser feito. Vem por padrão; Mac Geralmente nada a ser feito. Vem por padrão; Windows Não é o padrão. Pode ser instalado via Cygwin ou Mingw, com limitações de expressividade e compatibilidade. Fábio Chicout Bash para Desenvolvedores
  • 10. Introdução Sintaxe Aplicações GUI Web Instalação Linux Geralmente nada a ser feito. Vem por padrão; Mac Geralmente nada a ser feito. Vem por padrão; Windows Não é o padrão. Pode ser instalado via Cygwin ou Mingw, com limitações de expressividade e compatibilidade. Fábio Chicout Bash para Desenvolvedores
  • 11. Introdução Sintaxe Aplicações GUI Web Características Fracamente tipada Fábio Chicout Bash para Desenvolvedores
  • 12. Introdução Sintaxe Aplicações GUI Web Características Estimula a preguiça sadia! Fábio Chicout Bash para Desenvolvedores
  • 13. Introdução Sintaxe Aplicações GUI Web Características Integradora de tecnologias! Fábio Chicout Bash para Desenvolvedores
  • 14. Introdução Sintaxe Aplicações GUI Web IDE Dispensável. . . Programas pequenos, pontuais; Forte modularização; Voltado principalmente para administração do sistema; Flexibilidade e reuso extremos! Poucas regras que criam muitas possibilidades; VIm, emacs, notepad,. . . são mais que suficientes. Fábio Chicout Bash para Desenvolvedores
  • 15. Introdução Sintaxe Aplicações GUI Web IDE Dispensável. . . Programas pequenos, pontuais; Forte modularização; Voltado principalmente para administração do sistema; Flexibilidade e reuso extremos! Poucas regras que criam muitas possibilidades; VIm, emacs, notepad,. . . são mais que suficientes. Fábio Chicout Bash para Desenvolvedores
  • 16. Introdução Sintaxe Aplicações GUI Web IDE Dispensável. . . Programas pequenos, pontuais; Forte modularização; Voltado principalmente para administração do sistema; Flexibilidade e reuso extremos! Poucas regras que criam muitas possibilidades; VIm, emacs, notepad,. . . são mais que suficientes. Fábio Chicout Bash para Desenvolvedores
  • 17. Introdução Sintaxe Aplicações GUI Web IDE Dispensável. . . Programas pequenos, pontuais; Forte modularização; Voltado principalmente para administração do sistema; Flexibilidade e reuso extremos! Poucas regras que criam muitas possibilidades; VIm, emacs, notepad,. . . são mais que suficientes. Fábio Chicout Bash para Desenvolvedores
  • 18. Introdução Sintaxe Aplicações GUI Web IDE Dispensável. . . Programas pequenos, pontuais; Forte modularização; Voltado principalmente para administração do sistema; Flexibilidade e reuso extremos! Poucas regras que criam muitas possibilidades; VIm, emacs, notepad,. . . são mais que suficientes. Fábio Chicout Bash para Desenvolvedores
  • 19. Introdução Sintaxe Aplicações GUI Web IDE Dispensável. . . Programas pequenos, pontuais; Forte modularização; Voltado principalmente para administração do sistema; Flexibilidade e reuso extremos! Poucas regras que criam muitas possibilidades; VIm, emacs, notepad,. . . são mais que suficientes. Fábio Chicout Bash para Desenvolvedores
  • 20. Introdução Sintaxe Aplicações GUI Web IDE Dispensável. . . Programas pequenos, pontuais; Forte modularização; Voltado principalmente para administração do sistema; Flexibilidade e reuso extremos! Poucas regras que criam muitas possibilidades; VIm, emacs, notepad,. . . são mais que suficientes. Fábio Chicout Bash para Desenvolvedores
  • 21. Introdução Sintaxe Aplicações GUI Web Variáveis nome=valor São acessadas com um $ antes do nome; Ficam guardadas globalmente, ou no tempo de execução d’um script; Obs.: Scripts são comandos customizados. Só recebem até 10 parâmetros. Fábio Chicout Bash para Desenvolvedores
  • 22. Introdução Sintaxe Aplicações GUI Web Variáveis nome=valor São acessadas com um $ antes do nome; Ficam guardadas globalmente, ou no tempo de execução d’um script; Obs.: Scripts são comandos customizados. Só recebem até 10 parâmetros. Fábio Chicout Bash para Desenvolvedores
  • 23. Introdução Sintaxe Aplicações GUI Web Variáveis nome=valor São acessadas com um $ antes do nome; Ficam guardadas globalmente, ou no tempo de execução d’um script; Obs.: Scripts são comandos customizados. Só recebem até 10 parâmetros. Fábio Chicout Bash para Desenvolvedores
  • 24. Introdução Sintaxe Aplicações GUI Web Variáveis nome=valor São acessadas com um $ antes do nome; Ficam guardadas globalmente, ou no tempo de execução d’um script; Obs.: Scripts são comandos customizados. Só recebem até 10 parâmetros. Fábio Chicout Bash para Desenvolvedores
  • 25. Introdução Sintaxe Aplicações GUI Web Redirect Figura: Código Java para criar arquivo Texto. Fábio Chicout Bash para Desenvolvedores
  • 26. Introdução Sintaxe Aplicações GUI Web Redirect Leva conteúdo da saída de um comando para outra área Arquivos, Tela, Saída de Erros, Logs,. . . echo “Texto que será escrito” > Arquivo.txt Fábio Chicout Bash para Desenvolvedores
  • 27. Introdução Sintaxe Aplicações GUI Web Redirect Leva conteúdo da saída de um comando para outra área Arquivos, Tela, Saída de Erros, Logs,. . . echo “Texto que será escrito” > Arquivo.txt Fábio Chicout Bash para Desenvolvedores
  • 28. Introdução Sintaxe Aplicações GUI Web Redirect Leva conteúdo da saída de um comando para outra área Arquivos, Tela, Saída de Erros, Logs,. . . echo “Texto que será escrito” > Arquivo.txt Fábio Chicout Bash para Desenvolvedores
  • 29. Introdução Sintaxe Aplicações GUI Web Pipes “Encanamento!” Leva a saída de um comando como a entrada de outro comando! Fábio Chicout Bash para Desenvolvedores
  • 30. Introdução Sintaxe Aplicações GUI Web Pipes “Encanamento!” Leva a saída de um comando como a entrada de outro comando! Fábio Chicout Bash para Desenvolvedores
  • 31. Introdução Sintaxe Aplicações GUI Web Pipes “Encanamento!” Leva a saída de um comando como a entrada de outro comando! Fábio Chicout Bash para Desenvolvedores
  • 32. Introdução Sintaxe Aplicações GUI Web grep Ferramenta para pesquisa em arquivos texto; Usa expressões regulares; Variantes: zgrep, pgrep; Fábio Chicout Bash para Desenvolvedores
  • 33. Introdução Sintaxe Aplicações GUI Web grep Ferramenta para pesquisa em arquivos texto; Usa expressões regulares; Variantes: zgrep, pgrep; Fábio Chicout Bash para Desenvolvedores
  • 34. Introdução Sintaxe Aplicações GUI Web grep Ferramenta para pesquisa em arquivos texto; Usa expressões regulares; Variantes: zgrep, pgrep; Fábio Chicout Bash para Desenvolvedores
  • 35. Introdução Sintaxe Aplicações GUI Web grep Ferramenta para pesquisa em arquivos texto; Usa expressões regulares; Variantes: zgrep, pgrep; Fábio Chicout Bash para Desenvolvedores
  • 36. Introdução Sintaxe Aplicações GUI Web awk Ferramenta para buscar padrões e executar processamento; Possui uma linguagem própria; Útil para buscar dados de arquivos tabulares; Pode carregar scripts próprios em arquivos externos ou embutir na sua chamada. Fábio Chicout Bash para Desenvolvedores
  • 37. Introdução Sintaxe Aplicações GUI Web awk Ferramenta para buscar padrões e executar processamento; Possui uma linguagem própria; Útil para buscar dados de arquivos tabulares; Pode carregar scripts próprios em arquivos externos ou embutir na sua chamada. Fábio Chicout Bash para Desenvolvedores
  • 38. Introdução Sintaxe Aplicações GUI Web awk Ferramenta para buscar padrões e executar processamento; Possui uma linguagem própria; Útil para buscar dados de arquivos tabulares; Pode carregar scripts próprios em arquivos externos ou embutir na sua chamada. Fábio Chicout Bash para Desenvolvedores
  • 39. Introdução Sintaxe Aplicações GUI Web awk Ferramenta para buscar padrões e executar processamento; Possui uma linguagem própria; Útil para buscar dados de arquivos tabulares; Pode carregar scripts próprios em arquivos externos ou embutir na sua chamada. Fábio Chicout Bash para Desenvolvedores
  • 40. Introdução Sintaxe Aplicações GUI Web sed Ferramenta para editar texto pela linha de comando; Comandos baseados em partes; Imperativa; Adicionar texto, remover texto, alterar texto; Efetivando no arquivo ou ’whatif mode’; Fábio Chicout Bash para Desenvolvedores
  • 41. Introdução Sintaxe Aplicações GUI Web sed Ferramenta para editar texto pela linha de comando; Comandos baseados em partes; Imperativa; Adicionar texto, remover texto, alterar texto; Efetivando no arquivo ou ’whatif mode’; Fábio Chicout Bash para Desenvolvedores
  • 42. Introdução Sintaxe Aplicações GUI Web sed Ferramenta para editar texto pela linha de comando; Comandos baseados em partes; Imperativa; Adicionar texto, remover texto, alterar texto; Efetivando no arquivo ou ’whatif mode’; Fábio Chicout Bash para Desenvolvedores
  • 43. Introdução Sintaxe Aplicações GUI Web sed Ferramenta para editar texto pela linha de comando; Comandos baseados em partes; Imperativa; Adicionar texto, remover texto, alterar texto; Efetivando no arquivo ou ’whatif mode’; Fábio Chicout Bash para Desenvolvedores
  • 44. Introdução Sintaxe Aplicações GUI Web sed Ferramenta para editar texto pela linha de comando; Comandos baseados em partes; Imperativa; Adicionar texto, remover texto, alterar texto; Efetivando no arquivo ou ’whatif mode’; Fábio Chicout Bash para Desenvolvedores
  • 45. Introdução Sintaxe Aplicações GUI Web dialog Construção de Interface gráfica em modo texto; Comandos simples que criam interfaces de comunicação com outros; Resultados enviados para a saída de erro do bash; calendário, checklist, seleção de diretórios, textbox, seleção de arquivos, barras de progresso, caixas de mensagens, edição de arquivos, menus, campos de senha, radio buttons, e outros componentes úteis. Fábio Chicout Bash para Desenvolvedores
  • 46. Introdução Sintaxe Aplicações GUI Web dialog Construção de Interface gráfica em modo texto; Comandos simples que criam interfaces de comunicação com outros; Resultados enviados para a saída de erro do bash; calendário, checklist, seleção de diretórios, textbox, seleção de arquivos, barras de progresso, caixas de mensagens, edição de arquivos, menus, campos de senha, radio buttons, e outros componentes úteis. Fábio Chicout Bash para Desenvolvedores
  • 47. Introdução Sintaxe Aplicações GUI Web dialog Construção de Interface gráfica em modo texto; Comandos simples que criam interfaces de comunicação com outros; Resultados enviados para a saída de erro do bash; calendário, checklist, seleção de diretórios, textbox, seleção de arquivos, barras de progresso, caixas de mensagens, edição de arquivos, menus, campos de senha, radio buttons, e outros componentes úteis. Fábio Chicout Bash para Desenvolvedores
  • 48. Introdução Sintaxe Aplicações GUI Web dialog Construção de Interface gráfica em modo texto; Comandos simples que criam interfaces de comunicação com outros; Resultados enviados para a saída de erro do bash; calendário, checklist, seleção de diretórios, textbox, seleção de arquivos, barras de progresso, caixas de mensagens, edição de arquivos, menus, campos de senha, radio buttons, e outros componentes úteis. Fábio Chicout Bash para Desenvolvedores
  • 49. Introdução Sintaxe Aplicações GUI Web DEMO Fábio Chicout Bash para Desenvolvedores
  • 50. Introdução Sintaxe Aplicações GUI Web zenity Construção de Interface gráfica sobre um servidor X; Comandos simples que se interfaces de comunicação com outros; calendário, textbox, mensagem de erro, mensagem informativa, seleção de arquivos, listas, notificações, barras de progresso, caixa de pergunta, caixa de aviso (warning), caixa de seleção de cor, campo de senha. Menos abrangente que o dialog; Precisa de interface gráfica executando. Fábio Chicout Bash para Desenvolvedores
  • 51. Introdução Sintaxe Aplicações GUI Web zenity Construção de Interface gráfica sobre um servidor X; Comandos simples que se interfaces de comunicação com outros; calendário, textbox, mensagem de erro, mensagem informativa, seleção de arquivos, listas, notificações, barras de progresso, caixa de pergunta, caixa de aviso (warning), caixa de seleção de cor, campo de senha. Menos abrangente que o dialog; Precisa de interface gráfica executando. Fábio Chicout Bash para Desenvolvedores
  • 52. Introdução Sintaxe Aplicações GUI Web zenity Construção de Interface gráfica sobre um servidor X; Comandos simples que se interfaces de comunicação com outros; calendário, textbox, mensagem de erro, mensagem informativa, seleção de arquivos, listas, notificações, barras de progresso, caixa de pergunta, caixa de aviso (warning), caixa de seleção de cor, campo de senha. Menos abrangente que o dialog; Precisa de interface gráfica executando. Fábio Chicout Bash para Desenvolvedores
  • 53. Introdução Sintaxe Aplicações GUI Web zenity Construção de Interface gráfica sobre um servidor X; Comandos simples que se interfaces de comunicação com outros; calendário, textbox, mensagem de erro, mensagem informativa, seleção de arquivos, listas, notificações, barras de progresso, caixa de pergunta, caixa de aviso (warning), caixa de seleção de cor, campo de senha. Menos abrangente que o dialog; Precisa de interface gráfica executando. Fábio Chicout Bash para Desenvolvedores
  • 54. Introdução Sintaxe Aplicações GUI Web zenity Construção de Interface gráfica sobre um servidor X; Comandos simples que se interfaces de comunicação com outros; calendário, textbox, mensagem de erro, mensagem informativa, seleção de arquivos, listas, notificações, barras de progresso, caixa de pergunta, caixa de aviso (warning), caixa de seleção de cor, campo de senha. Menos abrangente que o dialog; Precisa de interface gráfica executando. Fábio Chicout Bash para Desenvolvedores
  • 55. Introdução Sintaxe Aplicações GUI Web CGI Common Gateway Interface; Historicamente, a primeira abstração para aplicações web; Suportado por qualquer servidor Web; Arquivos com código fazendo dump de texto plano. Naturalmente ’spaghetti code’; Fábio Chicout Bash para Desenvolvedores
  • 56. Introdução Sintaxe Aplicações GUI Web CGI Common Gateway Interface; Historicamente, a primeira abstração para aplicações web; Suportado por qualquer servidor Web; Arquivos com código fazendo dump de texto plano. Naturalmente ’spaghetti code’; Fábio Chicout Bash para Desenvolvedores
  • 57. Introdução Sintaxe Aplicações GUI Web CGI Common Gateway Interface; Historicamente, a primeira abstração para aplicações web; Suportado por qualquer servidor Web; Arquivos com código fazendo dump de texto plano. Naturalmente ’spaghetti code’; Fábio Chicout Bash para Desenvolvedores
  • 58. Introdução Sintaxe Aplicações GUI Web CGI Common Gateway Interface; Historicamente, a primeira abstração para aplicações web; Suportado por qualquer servidor Web; Arquivos com código fazendo dump de texto plano. Naturalmente ’spaghetti code’; Fábio Chicout Bash para Desenvolvedores
  • 59. Introdução Sintaxe Aplicações GUI Web CGI - Instalando LoadModule cgi_module modules/mod_cgi.so ScriptAlias /cgi-bin/ “/var/www/cgi-bin” Fábio Chicout Bash para Desenvolvedores
  • 60. Introdução Sintaxe Aplicações GUI Web CGI - Instalando LoadModule cgi_module modules/mod_cgi.so ScriptAlias /cgi-bin/ “/var/www/cgi-bin” Fábio Chicout Bash para Desenvolvedores
  • 61. Introdução Sintaxe Aplicações GUI Web CGI - Instalando LoadModule cgi_module modules/mod_cgi.so ScriptAlias /cgi-bin/ “/var/www/cgi-bin” Fábio Chicout Bash para Desenvolvedores
  • 62. Introdução Sintaxe Aplicações GUI Web CGI - Programando Primeiras linhas: “shebang” echo -e “Content-Type: text/html” Processamento de Formulários: read Fábio Chicout Bash para Desenvolvedores
  • 63. Introdução Sintaxe Aplicações GUI Web CGI - Programando Primeiras linhas: “shebang” echo -e “Content-Type: text/html” Processamento de Formulários: read Fábio Chicout Bash para Desenvolvedores
  • 64. Introdução Sintaxe Aplicações GUI Web CGI - Programando Primeiras linhas: “shebang” echo -e “Content-Type: text/html” Processamento de Formulários: read Fábio Chicout Bash para Desenvolvedores
  • 65. Introdução Sintaxe Aplicações GUI Web Segurança do CGI Shell Injection! Solução: UrlDecoder Fábio Chicout Bash para Desenvolvedores