<?xml version="1.0" encoding="UTF-8"?>
    <eventos>
      <topico>
        <nome>Shell Scripts </nome>
        <titulo>Shell Script </titulo>
        <descritor>Shell Script </descritor>
        <lead>Elaboração de scripts no shell do Mac </lead>
        <link>&lt;a href=&quot;http://aurelio.net/mac/&quot; target=&quot;_blank&quot;&gt;http://aurelio.net/mac/&lt;/a&gt;&amp;nbsp;&amp;nbsp;
          &lt;a href=&quot;http://doc.fug.com.br/doc/pt_BR.ISO8859-1/articles/explaining-bsd/index.html&quot;
            target=&quot;_blank&quot;&gt;O
            que é BSD&lt;/a&gt;&amp;nbsp; &lt;a href=&quot;https://developer.apple.com/library/mac/#documentation/opensource/conceptual/shellscripting/Introduction/Introduction.html&quot;
            target=&quot;_blank&quot;&gt;Apple&lt;/a&gt;&amp;nbsp;
          &lt;a href=&quot;http://www.afms.com.br/shell/?page=&quot; target=&quot;_blank&quot;&gt;AFMS&lt;/a&gt;&lt;br&gt;
        </link>
        <origem>WShellScriptMac.xml</origem>
        <referencia>.</referencia>
      </topico>
      <topico>
        <titulo>O que é shell </titulo>
        <desc>É o prompt da linha de comando do unix
          que recebe os comandos digitados pelo usuário e executa.&lt;br&gt;
          Exemplo de comandos do shell:&lt;br&gt;
          &lt;table style=&quot;text-align: left; width: 617px; height: 348px;&quot; border=&quot;1&quot;
            cellpadding=&quot;2&quot;
            cellspacing=&quot;2&quot;&gt;
            &lt;tbody&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center; background-color: silver;&quot;&gt;comando&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center; background-color: silver;&quot;&gt;Função&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center; background-color: silver;&quot;&gt;Argumento&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;ls&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;lista o conteudo do diretorio
                  corrente ou outro diretorio passando argumento&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Nome do diretorio&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;cat&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;mostra oconteudo de um arquivo
                  texto&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Nome do diretorio&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;cd&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;muda o diretorio corrente&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Nome do diretorio novo&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;pwd&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;mostra o diretorio corrente&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&amp;lt;nenhum&amp;gt;&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;rm&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;remove arquivos e diretorios&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Nome a remover&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;cp&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;copia um arquivo para outro
                  diretorio&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&amp;lt;Nome acopiar&amp;gt;&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;mkdir&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;cria um novo diretorio&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&amp;lt;nome a ser criado&amp;gt;&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;man&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;mostra o texto de ajuda sobre
                  diversos comandos do sistema&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&amp;lt;nome do comando a obter
                  ajuda&amp;gt;&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; text-align: center;&quot;&gt;help&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;mostra help dos comandos&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;f&amp;lt;nome do comando a obter
                  ajuda&amp;gt;&lt;/td&gt;
              &lt;/tr&gt;
            &lt;/tbody&gt;
          &lt;/table&gt;
          &lt;br&gt;
        </desc>
      </topico>
      <topico>
        <titulo >Exemplo </titulo >
        <desc>&lt;span style=&quot;font-weight: bold;&quot;&gt;Problema
            Resolvido&lt;/span&gt;:&lt;br&gt;
          &lt;span style=&quot;font-weight: bold;&quot;&gt;saida:&lt;/span&gt; Gravar um arquivo de
          texto chamado TodosXmlWalter &lt;br&gt;
          &lt;span style=&quot;font-weight: bold;&quot;&gt;formatar:&lt;/span&gt;
          NomeArquivo,NomeArquivo,......&amp;nbsp;&amp;nbsp;
          ex.:WShellScriptMac.xml,WD.xml,...&lt;br&gt;
          &lt;span style=&quot;font-weight: bold;&quot;&gt;selecionar:&lt;/span&gt; todos arquivos que
          1a letra W(maiscula) e a 2a letra de A até Z e tem extensão .xml.&lt;br&gt;
          &lt;span style=&quot;font-weight: bold;&quot;&gt;entrada:&lt;/span&gt;APOIE2012/WDesenvolvimento&lt;br&gt;
          &lt;br&gt;
          &lt;span style=&quot;font-weight: bold;&quot;&gt;Solução shell script para Mac:&lt;/span&gt;&lt;br&gt;
          &lt;ol&gt;
            &lt;li&gt;Muda para o diretorio onde estão os arquivos que serão lidos:&lt;br&gt;
              cd ///Volumes/APOIE2012/WDesenvolvimento&lt;/li&gt;
            &lt;li&gt;Lista todos os arquivos da pasta&lt;br&gt;
              ls&lt;/li&gt;
            &lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;saida:&lt;/span&gt; Gravar um arquivo
              de texto chamado ListaXml&lt;br&gt;
              &lt;span style=&quot;font-weight: bold;&quot;&gt;formatar:&lt;/span&gt;
              NomeArquivo,NomeArquivo,......&amp;nbsp;&amp;nbsp;
              ex.:WShellScriptMac.xml,WD.xml,...&lt;br&gt;
              &lt;span style=&quot;font-weight: bold;&quot;&gt;selecionar:&lt;/span&gt; todos arquivos
              que 1a letra W(maiscula) e a 2a letra de A até Z e tem extensão
              .xml.&lt;br&gt;
              &lt;br&gt;
              echo ListaXml=[\&#039;$(echo W[A-Z]*.xml)\&#039;]\; | sed &quot;s/ /&#039;, &#039;/g&quot;&amp;nbsp;&lt;/li&gt;
            &lt;li&gt;Resultado&lt;br&gt;
              ListaXml=[&#039;WAbstracao.xml&#039;, &#039;WAdmGestEmpdEmps.xml&#039;,
              &#039;WAdmTemp.xml&#039;, &#039;WAlgoritimo.xml&#039;, &#039;WAlgoritimoIterativo.xml&#039;,
              &#039;WAmbientacao.xml&#039;, &#039;WAndragogia.xml&#039;, &#039;WAprendizagem.xml&#039;,
              &#039;WArcaboucoVisao.xml&#039;, &#039;WArquiteturaAprendizado.xml&#039;]&lt;/li&gt;
          &lt;/ol&gt;
          &lt;span style=&quot;font-weight: bold;&quot;&gt;Resumindo arquivo script com comandos
            shell:&lt;/span&gt;&lt;br&gt;
          cd ///Volumes/APOIE2012/WDesenvolvimento&lt;br&gt;
          echo ListaXml=[\&#039;$(echo W[A-Z]*.xml)\&#039;]\; | sed &quot;s/ /&#039;, &#039;/g&quot; &lt;br&gt;
        </desc>
      </topico>
      <topico>
        <titulo >Onde esta o shell&lt;br&gt;
          &lt;br&gt;
        </titulo >
        <desc>Aplicativos&amp;gt;Utilitarios&amp;gt;Terminal &lt;br&gt;
          Para o usuário ler um arquivo segue a seguinte hierarquia: &lt;br&gt;
          usuario --&amp;gt; shell --&amp;gt; kernell--&amp;gt;disco rigido &lt;br&gt;
        </desc>
      </topico>
      <topico>
        <titulo>Funcionalidades </titulo>
        <desc>Pode ser representada, por diversas
          formas:&lt;br&gt;
          &lt;ul&gt;
            &lt;li&gt;navegar entre diretorios.&lt;/li&gt;
            &lt;li&gt;Manipular arquivos&lt;/li&gt;
            &lt;li&gt;Possui as estruturas: IF, FOR, WHILE , variaveis e funções&lt;br&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        </desc>
      </topico>
      <topico>
        <titulo>O que é script </titulo>
        <desc>É um arquivo texto que guarda vários
          comandos e pode ser executado. &lt;br&gt;
          &lt;br&gt;
          Por exemplo para saber informações do sistema como: horário, ocupação
          do disco e usuários que estão logados, é preciso digitar 3 comandos
          &lt;ul&gt;
            &lt;li&gt;[root@localhost root]#date&lt;br&gt;
            &lt;/li&gt;
            &lt;li&gt;[root@localhost root]#df&lt;/li&gt;
            &lt;li&gt;[root@localhost root]#w&lt;br&gt;
              &lt;br&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
          &lt;img alt=&quot;&quot; src=&quot;WExemploShell.png&quot;&gt;&lt;br&gt;
          &lt;br&gt;
          Fazendo um script chamado sistema, o arquivo sistema conterá:&lt;br&gt;
          &lt;ul&gt;
            &lt;li&gt;#!/bin/bash&lt;/li&gt;
            &lt;li&gt;#sistema - script que mostra informações sobre o sistema&lt;br&gt;
            &lt;/li&gt;
            &lt;li&gt;echo &quot;Data e Horario&quot;&lt;br&gt;
            &lt;/li&gt;
            &lt;li&gt;date&lt;/li&gt;
            &lt;li&gt;echo &quot;Uso do disco&quot;&lt;/li&gt;
            &lt;li&gt;df&lt;/li&gt;
            &lt;li&gt;echo &quot;Usuarios conectados&quot;&lt;/li&gt;
            &lt;li&gt;w&lt;/li&gt;
          &lt;/ul&gt;
          *echo é para mostrar mensagens na tela&lt;br&gt;
          #comentarios no script&lt;br&gt;
          Para chamar o script, executar um comando:&lt;br&gt;
          &lt;ul&gt;
            &lt;li&gt;[root@localrost root]#sistema&lt;/li&gt;
          &lt;/ul&gt;
        </desc>
      </topico>
      <topico>
        <titulo>Variaveis </titulo>
        <desc>Armazena dados dentro do script&lt;br&gt;
          &lt;ul&gt;
            &lt;li&gt;prompt$ VARIVEL=&quot;um dois tres&quot;&lt;/li&gt;
            &lt;li&gt;prompt$ echo $VARIVEL &lt;br&gt;
              um dois tres&lt;/li&gt;
            &lt;li&gt;prompt$ echo $VARIVEL $VARIVEL&lt;br&gt;
              um dois tres um dois tres&lt;/li&gt;
            &lt;li&gt;prompt$&lt;/li&gt;
          &lt;/ul&gt;
          Armazenar saida dentro de uma variavel&lt;br&gt;
          &lt;ul&gt;
            &lt;li&gt;prompt$ HOJE=$(date)&lt;/li&gt;
            &lt;li&gt;prompt$ echo &quot;HOJE é: $Hoje&quot;&lt;br&gt;
              Hoje é: Dom Mai 29 @1:00:00 BRT 2012&lt;/li&gt;
            &lt;li&gt;prompt$ unset HOJE&lt;/li&gt;
            &lt;li&gt;prompt$ echo $HOJE &lt;br&gt;
              &lt;br&gt;
            &lt;/li&gt;
            &lt;li&gt;prompt$ &lt;br&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
          unset- apaga a variavel&lt;br&gt;
        </desc>
      </topico>
      <topico>
        <titulo>Detalhes sobre os comandos </titulo>
        <desc>COMANDO OPCÕES PARÂMETROS:&amp;nbsp; help&lt;br&gt;
          &lt;br&gt;
          &lt;img alt=&quot;&quot; src=&quot;WComandosShellMac.png&quot;&gt;&lt;br&gt;
          &lt;br&gt;
          &lt;table style=&quot;text-align: left; width: 514px; height: 254px;&quot; border=&quot;1&quot;
            cellpadding=&quot;2&quot;
            cellspacing=&quot;2&quot;&gt;
            &lt;tbody&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top; background-color: silver;&quot;&gt;Comando&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top; background-color: silver;&quot;&gt;Função&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top; background-color: silver;&quot;&gt;Opções&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Exemplo&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;help&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Mostra comandos que existem no
                  shell do Mac&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;-s&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;help -s help &amp;nbsp; &amp;nbsp; &lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;info&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;help detalhado de um comando&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;info help&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;clear&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;limpa o prompt&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;clear&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;find&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Encontra arquivos&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;-name, -iname, -type f, -exec&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;grep&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;Encontra texto&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;-i, -v, -r, -qs, -w, -x&lt;br&gt;
                &lt;/td&gt;
                &lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;br&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
            &lt;/tbody&gt;
          &lt;/table&gt;
          &lt;br&gt;
        </desc>
      </topico>
      <topico>
        <titulo>Chamada do shell e tornar o script um
          executavel </titulo>
        <desc>COMANDO OPCÕES PARÂMETROS:
          &lt;ul&gt;
            &lt;li&gt;#!/bin/bash&lt;/li&gt;
            &lt;li&gt;chmod +x sistema&lt;/li&gt;
          &lt;/ul&gt;
          Para saber se sistema existe no diretorio corrente, digitar&lt;br&gt;
          &lt;ul&gt;
            &lt;li&gt;prompt$ ./sistema&lt;br&gt;
              &lt;br&gt;
              ou&lt;br&gt;
              &lt;br&gt;
              &lt;br&gt;
            &lt;/li&gt;
            &lt;li&gt;prompt$ /tmp/scripts/sistema&lt;/li&gt;
          &lt;/ul&gt;
          &lt;br&gt;
        </desc>
      </topico>
      <topico>
        <titulo>Quais diretorios tem o computador </titulo>
        <desc>Digitar no prompt:&lt;br&gt;
          &lt;ul&gt;
            &lt;li&gt;echo $PATH&lt;br&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        </desc>
      </topico>
    </eventos>
  