{"id":33509,"date":"2023-03-15T10:54:56","date_gmt":"2023-03-15T13:54:56","guid":{"rendered":"\/tutoriais\/?p=33509"},"modified":"2026-03-10T13:00:42","modified_gmt":"2026-03-10T16:00:42","slug":"como-usar-bash-arrays","status":"publish","type":"post","link":"\/pt\/tutoriais\/como-usar-bash-arrays","title":{"rendered":"Como usar Bash arrays"},"content":{"rendered":"<p class=\"wp-block-paragraph\">O Bash &eacute; a escolha ideal para a automa&ccedil;&atilde;o para usu&aacute;rios Linux. Como a automa&ccedil;&atilde;o muitas vezes lida com milhares de elementos, &eacute; fundamental saber o que &eacute; bash array.<\/p><p class=\"wp-block-paragraph\">O gerenciamento de <strong>VPS<\/strong> ou servidores f&iacute;sicos fica muito mais f&aacute;cil com os bash arrays. Neste tutorial, vamos apresentar os diferentes tipos de bash arrays e exemplos pr&aacute;ticos.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-BR.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-30351\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n\n<div class=\"protip\"><div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                   O que s&atilde;o Bash Arrays?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Um bash array &eacute; uma estrutura de dados desenvolvida para armazenar informa&ccedil;&atilde;o de forma indexada. Em outras palavras, um bash array &eacute; um grande grupo de vari&aacute;veis. Diferente dos arrays comuns usados em outras linguagens de programa&ccedil;&atilde;o, os bash arrays podem armazenar diferentes tipos de elementos. Por exemplo, voc&ecirc; pode usar um bash array para armazenar strings e n&uacute;meros. <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">Existem dois tipos de bash arrays:<\/p><ul class=\"wp-block-list\">\n<li><strong>Indexado<\/strong>: o array &eacute; indicado por n&uacute;meros inteiros ou n&uacute;meros naturais.<\/li>\n\n\n\n<li><strong>Associativo<\/strong>: o array &eacute; indicado por strings ou um conjunto de caracteres e palavras.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Lembre-se que o bash n&atilde;o suporta array multidimensionais, portanto n&atilde;o &eacute; poss&iacute;vel adicionar um array dentro de outro array.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-declarar-array-no-bash\"><strong>Como Declarar Array no Bash<\/strong><\/h2><p class=\"wp-block-paragraph\">Existem algumas formas de declarar arrays indexados e associativos no bash. Vale a pena notar que o tamanho dos bash arrays n&atilde;o precisa ser declarado antecipadamente, pois eles n&atilde;o t&ecirc;m limite m&aacute;ximo para o n&uacute;mero de elementos que podem armazenar.<\/p><h3 class=\"wp-block-heading\" id=\"h-array-indexado\"><strong>Array Indexado<\/strong><\/h3><p class=\"wp-block-paragraph\">Vamos come&ccedil;ar com um array indexado de bash simples. Por exemplo, usaremos ele para criar uma lista de diferentes meios de transporte.<\/p><p class=\"wp-block-paragraph\">A primeira op&ccedil;&atilde;o &eacute; declarar um array usando o comando interno do shell <strong>declare <\/strong>com a flag <strong>-a<\/strong> e designar os elementos do array:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">declare -a IndexedArray\nIndexedArray[0]=car\nIndexedArray[1]=plane\nIndexedArray[2]=bike<\/pre><p class=\"wp-block-paragraph\">O mesmo resultado pode ser alcan&ccedil;ado sem o comando interno <strong>declare<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IndexedArray[0]=car\nIndexedArray[1]=plane\nIndexedArray[2]=bike<\/pre><p class=\"wp-block-paragraph\">Ou podemos deixar ainda mais simples usando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IndexedArray=(car plane bike)<\/pre><p class=\"wp-block-paragraph\">Lembre-se que a indexa&ccedil;&atilde;o come&ccedil;a em <strong>0<\/strong>, ent&atilde;o o exemplo acima ir&aacute; atribuir o elemento <strong>car<\/strong> do array para o &iacute;ndice <strong>0<\/strong>.<\/p><p class=\"wp-block-paragraph\">No entanto, h&aacute; uma op&ccedil;&atilde;o para definir um array com &iacute;ndices:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IndexedArray=([0]=&rsquo;car&rsquo; [1]=&rsquo;plane&rsquo; [2]=&rsquo;bike&rsquo;)<\/pre><p class=\"wp-block-paragraph\">Uma caracter&iacute;stica interessante dos bash arrays &eacute; que n&atilde;o &eacute; necess&aacute;rio seguir os n&uacute;meros dos &iacute;ndices na ordem. Por exemplo, voc&ecirc; pode declarar apenas o primeiro e o terceiro elementos e deixar o segundo elemento de um array vazio:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IndexedArray[0]=car\nIndexedArray[2]=bike<\/pre><h3 class=\"wp-block-heading\"><strong>Array Associativo<\/strong><\/h3><p class=\"wp-block-paragraph\">Embora os arrays indexados n&atilde;o exijam o comando interno <strong>declare<\/strong>, um bash array associativo n&atilde;o poder&aacute; ser criado sem antes ser declarado:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">declare -A AssociativeArray<\/pre><p class=\"wp-block-paragraph\">Em seguida, adicionamos os valores. Lembrando que a chave deve ser uma string:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">AssociativeArray[color]=blue\nAssociativeArray[type]=car\nAssociativeArray[topspeed]=200<\/pre><p class=\"wp-block-paragraph\">Uma forma alternativa seria:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">declare -A AssociativeArray=( [color]=blue [type]=car [topspeed]=200 )<\/pre><h2 class=\"wp-block-heading\" id=\"h-como-adicionar-uma-variavel-a-um-bash-array\"><strong>Como Adicionar uma Vari&aacute;vel a um Bash Array<\/strong><\/h2><p class=\"wp-block-paragraph\">As <a href=\"\/tutorials\/bash-variables\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>vari&aacute;veis de bash<\/strong><\/a> podem ser facilmente adicionadas usando o operador <strong>+=<\/strong>. Por exemplo, o processo para um array indexado ficaria assim:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IndexedArray=(car plane bike)\nIndexedArray=(car plane bike)<\/pre><p class=\"wp-block-paragraph\">O array indexado agora tem um novo elemento. Lembre-se que esse m&eacute;todo se anexa ao final de um array. Portanto, o elemento <strong>motorcycle<\/strong> ser&aacute; adicionado como &uacute;ltimo elemento.<\/p><p class=\"wp-block-paragraph\">Para arrays associativos, o processo &eacute; bem parecido. A diferen&ccedil;a &eacute; que &eacute; preciso especificar as chaves com todos os elementos.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">declare -A AssociativeArray\nAssociativeArray[color]=blue\nAssociativeArray+=([tires]=alloy [engine]=gasoline)<\/pre><h2 class=\"wp-block-heading\" id=\"h-como-referenciar-e-imprimir-um-elemento-array\"><strong>Como Referenciar e Imprimir um Elemento Array<\/strong><\/h2><p class=\"wp-block-paragraph\">Os usu&aacute;rios podem referenciar os valores dos bash arrays usando o &iacute;ndice ou a chave do elemento. Para isso, basta criar um array indexado:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IndexedArray=(car plane bike)<\/pre><p class=\"wp-block-paragraph\">Para referenciar a primeira vari&aacute;vel de array, utilize a sintaxe abaixo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">${IndexedArray[0]}<\/pre><p class=\"wp-block-paragraph\">Combine a sintaxe com <strong>echo<\/strong> e voc&ecirc; ter&aacute; o seguinte resultado:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo ${IndexedArray[0]}<\/pre><p class=\"wp-block-paragraph\">A sa&iacute;da (output) te mostrar&aacute; o primeiro elemento. Neste caso, o primeiro elemento &eacute; <strong>car<\/strong>. A mesma l&oacute;gica se aplica ao referenciar e imprimir um array associativo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">declare -A AssociativeArray=( [color]=blue [type]=car [topspeed]=200 )\necho ${AssociativeArray[type]}<\/pre><p class=\"wp-block-paragraph\">A sa&iacute;da tamb&eacute;m ser&aacute; <strong>car<\/strong>.<\/p><p class=\"wp-block-paragraph\">Para imprimir todo o array, usamos <strong>@<\/strong> como um &iacute;ndice. O script completo fica assim:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"579\" height=\"218\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-1.png\/public\" alt=\"Script de bash para criar e imprimir um array indexado.\" class=\"wp-image-33519\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-1.png\/w=579,fit=scale-down 579w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-1.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 579px) 100vw, 579px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">Voc&ecirc; tamb&eacute;m pode imprimir apenas as chaves de um array. Para isso, basta adicionar um ponto de exclama&ccedil;&atilde;o antes do nome do array:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"662\" height=\"222\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-2.png\/public\" alt=\"Script de linha de comando para imprimir todas as chaves de um array associativo. Para imprimir todos os valores, somente o ponto de exclama&ccedil;&atilde;o precisa ser removido.\" class=\"wp-image-33520\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-2.png\/w=662,fit=scale-down 662w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-2.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-2.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 662px) 100vw, 662px\" \/><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-como-remover-os-elementos-de-bash-arrays\"><strong>Como Remover os Elementos de Bash Arrays<\/strong><\/h2><p class=\"wp-block-paragraph\">O processo de apagar os elementos de array &eacute; parecido com o de referenci&aacute;-los. Usamos um indicador ou uma chave combinada com o comando interno <strong>unset<\/strong> para remover um elemento de array.<\/p><p class=\"wp-block-paragraph\">Veja abaixo um exemplo de remo&ccedil;&atilde;o de um &uacute;nico elemento do array indexado:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"425\" height=\"217\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-3.png\/public\" alt=\"Script de bash para mostrar o comando unset que &eacute; usado para apagar elementos de um array\" class=\"wp-image-33521\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-3.png\/w=425,fit=scale-down 425w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-3.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-3.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 425px) 100vw, 425px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">Uma l&oacute;gica parecida se aplica aos arrays associativos:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"655\" height=\"191\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-4.png\/public\" alt=\"Script de bash Bash exibindo o comando unset para arrays associativos, usado para remover um elemento de um array\" class=\"wp-image-33522\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-4.png\/w=655,fit=scale-down 655w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-4.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-4.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 655px) 100vw, 655px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">Para apagar um array inteiro, especifique <strong>unset<\/strong> com o nome do array, como mostramos a seguir:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"657\" height=\"207\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-5.png\/public\" alt=\"Script de shell para apagar o array por completo.\" class=\"wp-image-33523\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-5.png\/w=657,fit=scale-down 657w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-5.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-5.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 657px) 100vw, 657px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">Nada &eacute; exibido ap&oacute;s tentarmos imprimir os elementos de array porque o comando <strong>unset<\/strong> os apagou.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-percorrer-um-array\"><strong>Como Percorrer um Array<\/strong><\/h2><p class=\"wp-block-paragraph\"><a href=\"\/tutoriais\/bash-for-loop-guia\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Criar loops de bash<\/strong><\/a> &eacute; um aspecto fundamental para aprender o <a href=\"\/tutorials\/bash-scripting-tutorial\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>b&aacute;sico dos comandos bash<\/strong><\/a>. Voc&ecirc; tamb&eacute;m pode usar loops com arrays. Por exemplo, o caso de uso mais comum &eacute; a itera&ccedil;&atilde;o sobre cada item do array:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"659\" height=\"231\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-6.png\/public\" alt=\"Script de shell com o comando for loop para iterar e imprimir um array\" class=\"wp-image-33524\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-6.png\/w=659,fit=scale-down 659w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-6.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-6.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 659px) 100vw, 659px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">Voc&ecirc; tamb&eacute;m pode combinar chaves com elementos de array e imprimi-los juntos, como no exemplo abaixo:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"797\" height=\"234\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-7.png\/public\" alt=\"Script de linha de comando para imprimir elementos e chaves para um arrau associativo.\" class=\"wp-image-33525\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-7.png\/w=797,fit=scale-down 797w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-7.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-7.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-7.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-como-passar-um-array-para-uma-funcao\"><strong>Como Passar um Array para uma Fun&ccedil;&atilde;o<\/strong><\/h2><p class=\"wp-block-paragraph\">As fun&ccedil;&otilde;es poupam um tempo consider&aacute;vel na elabora&ccedil;&atilde;o de scripts. Em vez de escrevermos o mesmo c&oacute;digo v&aacute;rias vezes, podemos chamar uma fun&ccedil;&atilde;o que j&aacute; foi escrita. Vamos combinar o loop de itera&ccedil;&atilde;o mencionado anteriormente e criaremos uma fun&ccedil;&atilde;o a partir dele:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">function Iteration\n{\nm=${#IndexedArray[@]}\nfor (( i=0; i&amp;lt;m; i++ ))\ndo\necho ${IndexedArray[$i]}\ndone\n}\nIndexedArray=(car bike plane)\nIteration ${IndexedArray[@]}<\/pre><p class=\"wp-block-paragraph\">Ao execut&aacute;-lo em uma linha de comando, voc&ecirc; ter&aacute; o seguinte resultado:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"477\" height=\"417\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-8.png\/public\" alt=\"Fun&ccedil;&atilde;o bash para itera&ccedil;&atilde;o de array\" class=\"wp-image-33526\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-8.png\/w=477,fit=scale-down 477w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/03\/image-8.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 477px) 100vw, 477px\" \/><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-conclusao\"><strong>Conclus&atilde;o<\/strong><\/h2><p class=\"wp-block-paragraph\">Como vimos, o bash &eacute; um dos shells e das linguagens de comando mais populares para servidores virtuais e f&iacute;sicos baseados em Linux.&nbsp; Os comandos bash e os arrays permitem que seus usu&aacute;rios automatizem seu trabalho e deixem de passar horas a fio realizando tarefas manuais.<\/p><p class=\"wp-block-paragraph\">Neste tutorial, apresentamos a maioria das opera&ccedil;&otilde;es de array, como:<\/p><ul class=\"wp-block-list\">\n<li>Declarar e criar arrays indexados e associativos.<\/li>\n\n\n\n<li>Adicionar e remover vari&aacute;veis dos arrays.<\/li>\n\n\n\n<li>Referenciar e imprimir arrays.<\/li>\n\n\n\n<li>Percorrer os arrays e pass&aacute;-los para fun&ccedil;&otilde;es.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">N&oacute;s tamb&eacute;m apresentamos alguns exemplos que podem ser usados quando voc&ecirc; quiser explorar o bash. Caso tenha d&uacute;vidas ou coment&aacute;rios, sinta-se &agrave; vontade de deix&aacute;-los na se&ccedil;&atilde;o abaixo.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/pt\/alojamento-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-32923\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-perguntas-frequentes-sobre-bash-arrays\"><strong>Perguntas Frequentes sobre Bash Arrays<\/strong><\/h2><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-69441cb2d827f\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">u003cstrongu003eBash Arrays vs. Stringu003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Um bash array armazena um conjunto de elementos, como por exemplo um conjunto de n&uacute;meros com uma lista de palavras. J&aacute; uma string pode ser considerada um array, mas ela s&oacute; pode armazenar caracteres, nada mais.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441cb2d8282\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">u003cstrongu003eBash Arrays vs. Listau003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Uma lista de bash &eacute; uma sequ&ecirc;ncia de um ou mais pipelines separados por um dos operadores. Dessa forma, as listas n&atilde;o est&atilde;o relacionadas aos arrays. Por&eacute;m, os arrays indexados &agrave;s vezes s&atilde;o referidos como listas.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441cb2d8283\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">u003cstrongu003eO Que Significa {} em Bash?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>As chaves sem um s&iacute;mbolo $ s&atilde;o consideradas expans&otilde;es de brace e s&atilde;o usadas para criar strings arbitr&aacute;rias. Voc&ecirc; pode usar as chaves para criar arrays. Por exemplo, o u003cstrongu003eecho {0..100}u003c\/strongu003e vai imprimir n&uacute;meros do zero ao 100.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441cb2d8284\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">u003cstrongu003eBash &eacute; uma Linguagem?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Sim, o bash &eacute; uma linguagem de comando. Ele &eacute; usado para automatizar tarefas ou executar comandos na linha de comando. Comparado &agrave; maioria das linguagens de programa&ccedil;&atilde;o, a linguagem de comando bash &eacute; mais f&aacute;cil de aprender e a sintaxe dela &eacute; relativamente simples.&nbsp;&nbsp;<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441cb2d8285\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">u003cstrongu003eComo Usar o Comando Echo em Bash Arrays?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Para usar o comando echo em um array, basta usar o formato u003cstrongu003eecho ${Array[0]}u003c\/strongu003e. Onde u003cstrongu003eArrayu003c\/strongu003e &eacute; o nome do seu array, e u003cstrongu003e0u003c\/strongu003e &eacute; o &iacute;ndice ou a chave, caso esteja usando o comando em um array associativo. Voc&ecirc; tamb&eacute;m pode usar os s&iacute;mbolos u003cstrongu003e@u003c\/strongu003e ou u003cstrongu003e*u003c\/strongu003e em vez de um &iacute;ndice para imprimir o array inteiro.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>O Bash &eacute; a escolha ideal para a automa&ccedil;&atilde;o para usu&aacute;rios Linux. Como a automa&ccedil;&atilde;o muitas vezes lida com milhares de elementos, &eacute; fundamental saber o que &eacute; bash array. O gerenciamento de VPS ou servidores f&iacute;sicos fica muito mais f&aacute;cil com os bash arrays. Neste tutorial, vamos apresentar os diferentes tipos de bash arrays [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/como-usar-bash-arrays\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":270,"featured_media":33530,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"","rank_math_description":"Neste tutorial trazemos os tipos de bash arrays e exemplos de uso para facilitar o gerenciamento do seu servidor VPS ou f\u00edsico em Linux.","rank_math_focus_keyword":"Bash Arrays","footnotes":""},"categories":[4915],"tags":[6401,6096,5113],"class_list":["post-33509","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps","tag-comandos-bash","tag-hospedagem-vps","tag-servidor-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-use-bash-array\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-usar-bash-arrays\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/bash-array\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/bash-array\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-use-bash-array\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-use-bash-array\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-use-bash-array\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-use-bash-array\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-use-bash-array\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-use-bash-array\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-use-bash-array\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-usar-bash-arrays\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/33509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/270"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=33509"}],"version-history":[{"count":15,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/33509\/revisions"}],"predecessor-version":[{"id":49516,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/33509\/revisions\/49516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media\/33530"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=33509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=33509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=33509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}