<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Bash - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Bash - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Fri, 29 May 2026 20:37:09 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/tag/bash/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Comandos do bash: ls, head, mv e cat explicados e com exemplos ]]>
                </title>
                <description>
                    <![CDATA[ ls O ls é um comando dos sistemas operacionais do tipo Unix (como o Linux e o MacOS) para lista os conteúdos de um diretório, como , por exemplo, nomes de pastas e de arquivos. Uso cat [opções] [nomes_dos_arquivos] Opções mais usadas:  * -a, todos os arquivos e pastas, ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/comandos-do-bash-ls-head-mv-e-cat-explicados-e-com-exemplos/</link>
                <guid isPermaLink="false">6553a308f2994303ed343447</guid>
                
                    <category>
                        <![CDATA[ Bash ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Tue, 14 Nov 2023 17:17:13 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2023/11/5f9c9e1a740569d1a4ca3b5c.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/bash-commands-bash-ls-bash-head-bash-mv-and-bash-cat-explained-with-examples/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Bash Commands: Bash ls, Bash head, Bash mv, and Bash cat Explained with Examples</a>
      </p><h2 id="ls"><strong><strong><strong>ls</strong></strong></strong></h2><p>O <code>ls</code> é um comando dos sistemas operacionais do tipo Unix (como o Linux e o MacOS) para lista os conteúdos de um diretório, como , por exemplo, nomes de pastas e de arquivos.</p><h3 id="uso"><strong><strong><strong>Us</strong>o</strong></strong></h3><pre><code class="language-bash">cat [opções] [nomes_dos_arquivos]</code></pre><p>Opções mais usadas:</p><ul><li><code>-a</code>, todos os arquivos e pastas, incluindo os ocultos e que começam com <code>.</code></li><li><code>-l</code>, lista todos os arquivos em formato longo (estendido)</li><li><code>-G</code>, habilita resultados em cores</li></ul><h3 id="exemplo-"><strong><strong><strong>Ex</strong>emplo<strong>:</strong></strong></strong></h3><p>Lista de arquivos em <code>freeCodeCamp/guide/</code></p><p>Após clonar o repositório principal do <a href="https://github.com/freeCodeCamp/freeCodeCamp">freeCodeCamp</a>, aqui temos o resultado do retorno de <code>ls</code> no diretório <code>freeCodeCamp</code>:</p><pre><code class="language-bash">api-server                 docker-compose.yml  public
change_volumes_owner.sh    Dockerfile.tests    README.md
client                     docs                sample.env
CODE_OF_CONDUCT.md         HoF.md              search-indexing
config                     lerna.json          SECURITY.md
CONTRIBUTING.md            LICENSE.md          server
curriculum                 node_modules        tools
docker-compose-shared.yml  package.json        utils
docker-compose.tests.yml   package-lock.json</code></pre><h2 id="mais-comandos-do-bash"><strong>Mais comandos do bash</strong></h2><h3 id="head"><strong>head</strong></h3><p><code>head</code> é usado para imprimir as dez primeiras linhas (por padrão) ou qualquer quantidade de linhas especificadas de um arquivo ou arquivos. <code>cat</code>, por outro lado, é usado para ler um arquivo sequencialmente e imprimi-lo na saída padrão (ou seja, o conteúdo inteiro do arquivo é impresso ou exibido em tela).</p><p>Isso, porém, nem sempre é necessário – talvez você queira apenas conferir o conteúdo de um arquivo para ver se é o correto ou conferir se ele não está, de fato, vazio. O comando <code>head</code> permite que você veja as N primeiras linhas de um arquivo.</p><p>Se mais de um arquivo for chamado, as primeiras 10 linhas de cada arquivo serão exibidas, a menos que outro número determinado de linhas seja especificado. Também é possível selecionar o cabeçalho do arquivo. Confira as opções abaixo.</p><h3 id="uso-1"><strong><strong><strong>Us</strong>o</strong></strong></h3><pre><code class="language-bash">head [opções] [nomes_dos_arquivos]</code></pre><p>Opções mais usadas:</p><ul><li><code>-n N</code>, imprime as primeiras N linhas dos arquivos</li><li><code>-q</code>, não imprime os cabeçalhos dos arquivos</li><li><code>-v</code>, sempre imprime os cabeçalhos dos arquivos</li></ul><h3 id="exemplo"><strong><strong><strong>Ex</strong>emplo</strong></strong></h3><pre><code class="language-bash">head arquivo.txt</code></pre><p>Imprime as 10 primeiras linhas de <code>arquivo.txt</code> (padrão)</p><pre><code class="language-bash">head -n 7 arquivo.txt</code></pre><p>Imprime as 7 primeiras linhas de <code>arquivo.txt</code></p><pre><code class="language-bash">head -q -n 5 arquivo1.txt arquivo2.txt</code></pre><p>Imprime as 5 primeiras linhas de <code>arquivo1.txt</code> e as 5 primeiras linhas de <code>arquivo2.txt</code></p><h2 id="mv"><strong><strong><strong>mv</strong></strong></strong></h2><p>Este comando do bash move arquivos ou pastas.</p><pre><code class="language-text">mv origem destino
mv origem ... diretório</code></pre><p>O primeiro argumento é o arquivo que você deseja mover. O segundo é o local para onde movê-lo.</p><p>Opções comumente usadas:</p><ul><li><code>-f</code> para forçar o ato de mover e sobrescrever os arquivos sem conferir com o usuário.</li><li><code>-i</code> para solicitar confirmação antes de sobrescrever arquivos.</li></ul><h2 id="cat"><strong><strong>c<strong>at</strong></strong></strong></h2><p><code>cat</code> é um dos comandos mais frequentemente usados nos sistemas operacionais baseados em Unix.</p><p>O <code>cat</code> é usado para ler um arquivo em sequência e imprimi-lo na saída padrão. O nome vem da maneira como ele con<strong><strong>cat</strong></strong>ena arquivos.</p><h3 id="uso-2"><strong><strong><strong>Us</strong>o</strong></strong></h3><pre><code class="language-bash">cat [opções] [nomes_dos_arquivos]</code></pre><p>Opções mais usadas:</p><ul><li><code>-b</code>, numera as linhas do resultado que não estejam em branco</li><li><code>-n</code>, numera todas as linhas do resultado</li><li><code>-s</code>, reduz para uma as várias linhas em brancos adjacentes umas às outras</li><li><code>-v</code>, exibe caracteres que não são imprimíveis, exceto tabulações e o caractere de final de linha</li></ul><h3 id="exemplo-1"><strong><strong><strong>Ex</strong>emplo</strong></strong></h3><p>Imprime o conteúdo de <code>arquivo.txt</code>:</p><pre><code class="language-bash">cat arquivo.txt</code></pre><p>Concatena o conteúdo de dois arquivos e exibe o resultado no terminal:</p><pre><code class="language-bash">cat arquivo1.txt arquivo2.txt</code></pre><h2 id="mais-informa-es-sobre-o-bash-"><strong>Mais informações sobre o bash:</strong></h2><h3 id="o-que-o-bash"><strong>O que é o bash?</strong></h3><p>Bash (nome que é a versão reduzida de Bourne Again SHell) é um <em>shell</em> do Unix, além de um interpretador de linguagem de comandos. Um <em>shell </em>é simplesmente um macroprocessador que executa comandos. Ele é o <em>shell </em>mais usado, sendo integrado por padrão na maioria das distribuições do Linux, sendo um sucessor do Korn shell (ksh) e do C shell (csh).</p><p>Muitas coisas que podem ser feitas na GUI (interface gráfica) de um sistema operacional Linux também podem ser realizadas na linha de comando. Alguns exemplos:</p><ul><li>Editar arquivos</li><li>Ajustar o volume do sistema operacional</li><li>Obter páginas da web na internet</li><li>Automatizar o trabalho diário</li></ul><p>Você pode ler mais sobre o bash <a href="https://www.gnu.org/software/bash/">aqui</a>, na <a href="https://www.gnu.org/software/bash/manual/html_node/index.html#SEC_Contents">documentação da GNU</a> e no <a href="http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc10">guia do tldp</a> (textos em inglês).</p><h2 id="uso-do-bash-na-linha-de-comando-linux-os-x-"><strong><strong><strong>Us</strong>o do<strong> bash </strong>na linha de comando<strong> (Linux, OS X)</strong></strong></strong></h2><p>Você pode começar a usar o bash na maioria dos sistemas operacionais Linux e OS X ao abrir um terminal. Vamos considerar um exemplo simples de <code>hello world</code>. Abra seu terminal e escreva a primeira linha abaixo (o que vem após o sinal $):</p><pre><code class="language-text">zach@marigold:~$ echo "Hello world!"
Hello world!</code></pre><p>Como você pode ver, usamos o comando <code>echo</code> para imprimir a string "Hello world!" no terminal.</p><h2 id="escrevendo-um-script-no-bash"><strong><strong>Escrevendo um script no <strong>bash</strong></strong></strong></h2><p>Também é possível colocar todos os comandos do bash em um arquivo .sh, executando o arquivo a partir da linha de comando. Digamos que você tenha um script do bash com o conteúdo abaixo:</p><pre><code class="language-text">#!/bin/bash
echo "Hello world!"</code></pre><p>O script tem apenas duas linhas. A primeira indica qual interpretador usar para executar o arquivo (nesse caso, o bash). A segunda linha é o comando que queremos usar, <code>echo</code>, seguido do que queremos imprimir, "Hello world!".</p><p>Vale a pena observar que a primeira linha do script começa com <code>#!</code>. Essa é uma diretiva especial que o Unix trata de maneira diferente.</p><h4 id="por-que-usamos-bin-bash-no-come-o-do-arquivo-de-script"><strong><strong>Por que usamos<strong> #!/bin/bash </strong>no começo do arquivo de <strong>script?</strong></strong></strong></h4><p>Isso ocorre porque é uma convenção informar ao shell interativo que tipo de interpretador executar para o programa que segue.</p><p>A primeira linha informa o sistema operacional que o arquivo deve ser executado pelo programa que fica em <code>/bin/bash</code>, o local padrão do shell Bourne (do bash) em quase todos os sistemas Unix ou similares. Ao adicionar <code>#!/bin/bash</code> no começo do script, isso informa ao sistema operacional que ele deve usar o shell daquele caminho específico para executar todos os comandos a seguir no arquivo de script.</p><p><code>#!</code> tem diversos nomes em inglês, como "<em>hash-bang</em>", "<em>she-bang</em>", "<em>sha-bang</em>" ou "<em>crunch-bang</em>". Observe que a primeira linha somente é considerada se o script for um arquivo executável.</p><p>Por exemplo, se <code>myBashScript.sh</code> é executável, o comando <code>./myBashScript.sh</code> fará com que o sistema operacional examine a primeira linha para saber qual interpretador utilizar. Nesse caso, a linha seria <code>#!/bin/bash</code>.</p><p>Por outro lado, ao executar <code>bash myBashScript.sh</code>, a primeira linha é ignorada, pois o sistema operacional já sabe que deve usar o bash.</p><p>Para tornar o arquivo <code>myBashScript.sh</code> um executável, basta executar o comando <code>sudo chmod +x myBashScript.sh</code>. Em seguida, execute o comando abaixo para executar o script:</p><pre><code class="language-text">zach@marigold:~$ ./myBashScript.sh
Hello world!</code></pre><p>Às vezes, o script não será executado e o comando acima retornará um erro. Isso ocorre em função das permissões definidas no arquivo. Para evitar que isso aconteça, use:</p><pre><code class="language-text">zach@marigold:~$ chmod u+x myBashScript.sh</code></pre><p>Aí, então, você conseguirá executar o script.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Array no Bash – como declarar um array de strings em um script do Bash ]]>
                </title>
                <description>
                    <![CDATA[ Os scripts do Bash fornecem uma maneira conveniente de automatizar tarefas da linha de comando. Com o Bash, você pode fazer muitas das mesmas coisas que faria em outro processo de script ou em linguagens de programação. Você pode criar e usar variáveis, executar laços, usar lógica condicional e armazenar ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/array-no-bash-como-declarar-um-array-de-strings-em-um-script-do-bash/</link>
                <guid isPermaLink="false">63383200ffecac05daeb5e33</guid>
                
                    <category>
                        <![CDATA[ Bash ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Elizabete Nakamura ]]>
                </dc:creator>
                <pubDate>Tue, 18 Oct 2022 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/10/img.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/bash-array-how-to-declare-an-array-of-strings-in-a-bash-script/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Bash Array – How to Declare an Array of Strings in a Bash Script</a>
      </p><p>Os scripts do Bash fornecem uma maneira conveniente de automatizar tarefas da linha de comando.</p><p>Com o Bash, você pode fazer muitas das mesmas coisas que faria em outro processo de script ou em linguagens de programação. Você pode criar e usar variáveis, executar laços, usar lógica condicional e armazenar dados em arrays.</p><p>Embora a funcionalidade possa ser muito familiar, a sintaxe do Bash pode ser complicada. Neste artigo, você aprenderá como declarar arrays e depois como utilizá-las em seu código.</p><h2 id="como-declarar-um-array-no-bash"><strong>Como declarar um array no Bash</strong></h2><p>Declarar um array no Bash é fácil, mas preste atenção à sintaxe. Se você estiver acostumado a programar em outras linguagens, o código pode parecer familiar, mas há diferenças sutis que são fáceis de deixar passar despercebidas.</p><p>Para declarar seu array, siga estes passos:</p><ol><li>Dê um nome ao seu array</li><li>Depois desse nome de variável, coloque um sinal de igualdade. O sinal de igual <em>não deve ter</em> espaços ao seu redor. </li><li>Coloque o array entre <em>parênteses</em> (não entre colchetes, como em JavaScript) </li><li>Digite suas strings usando aspas, mas <em>sem</em> <em>vírgulas</em> entre elas </li></ol><p>A sua declaração do array será algo parecido com isto:</p><pre><code class="language-sh">meuArray=("gato" "cachorro" "rato" "sapo")</code></pre><p>É isso! Simples assim.</p><h2 id="como-acessar-um-array-em-bash"><strong>Como acessar um array em Bash </strong></h2><p>Há algumas maneiras diferentes de se percorrer o seu array. Você pode fazer laços para percorrer os elementos ou usando seus índices.</p><h3 id="como-percorrer-os-elementos-do-array"><strong>Como percorrer os elementos do array </strong></h3><p>Para percorrer os elementos do array, seu código precisará ter essa aparência:</p><pre><code class="language-sh">for str in ${meuArray[@]}; do
  echo $str
done</code></pre><p>Vamos por partes: é um pouco como usar <code>forEach</code> em JavaScript. Para cada string (str) no array (meuArray), imprima a string.</p><p>A saída deste laço será:</p><pre><code>gato
cachorro
rato
sapo</code></pre><p><strong>Observação</strong>: o símbolo <code>@</code> entre colchetes indica que você está passando por <em>todos</em> os elementos do array. Se você o deixasse de fora e apenas escrevesse <code>for str in ${meuArray}</code>, apenas a primeira string no array (gato) seria impressa.</p><h3 id="como-percorrer-atrav-s-dos-ndices-do-array"><strong>Como percorrer através dos índices do array </strong></h3><p>Como alternativa, você pode percorrer os índices do array. É como um laço <code>for</code> em JavaScript. É útil para quando você quiser acessar o índice de cada elemento.</p><p>Para usar este método, seu código deverá ter esta aparência:</p><pre><code class="language-sh">for i in ${!meuArray[@]}; do
  echo "O elemento $i é ${meuArray[$i]}"
done</code></pre><p>A saída será assim:</p><pre><code>O elemento 0 é gato
O elemento 1 é cachorro
O elemento 2 é rato
O elemento 3 é sapo</code></pre><p><strong>Observação</strong>: o ponto de exclamação no início da variável <code>meuArray</code> indica que você está acessando os <em>índices</em> do array, não os elementos em si. Isto pode ser confuso se você estiver acostumado com o ponto de exclamação indicando negação. Portanto, preste atenção a isso.</p><p><strong>Outra observação</strong>: o Bash, tipicamente, não requer chaves para as variáveis, mas para os arrays, sim. Portanto, você notará que, quando você faz referência a um array, o faz com a sintaxe <code>${meuArray}</code>, mas quando você faz referência a uma string ou a um número, você simplesmente usa um sinal de dólar: <code>$i</code>.</p><h2 id="conclus-o"><strong>Conclusão</strong></h2><p>Scripts do Bash são úteis para criar um comportamento automatizado da linha de comando. Os arrays, por outro lado, são uma ótima ferramenta, que você pode usar para armazenar dados diversos.</p><p>Declará-los e usá-los não é difícil, mas é diferente de outras linguagens. Portanto, preste muita atenção para evitar cometer erros.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
