Pular para o conteúdo

Programação com Shell Script

Este artigo destina-se aos que já conhecem o básico de lógica de programação e que estejam interessados em aprender Shell Script.
Paulo Dias di4s
Hits: 77.203 Categoria: Shell Script Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 4: Arrays

Além de possuir funções e estruturas de controle, shell script também tem arrays. Os arrays seguem a sintaxe abaixo:

#!/bin/bash

# declaracao do array

dias=( "domingo" "segunda" "terca" "quarta" "quinta" "sexta" "sabado" );

echo ${dias[1]}; # imprime segunda

#declaracao do array

nomes[0]="paulo";
nomes[1]="ana";
nomes[2]="carlos";

echo ${nomes[1]};

# para retornar a quantidade de itens
echo ${#nomes[@]}  # imprime 3
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Perceba que é possível criar arrays de duas formas diferentes, e que, para retornar o valor de uma posição do array, a sintaxe é diferente de uma variável comum.

Além disso, na última linha é feita a leitura da quantidade de itens (posições ocupadas) do array.

Exemplo final

Para terminar e exemplificar o artigo, segue um script que organiza uma lista de números (sort):

#!/bin/bash
function organiza() {

  array=($@);
  i=0;
  while [ $i -lt ${#array[@]} ]; do

    j=$(($i + 1));
    while [ $j -lt ${#array[@]} ]; do

       if [ ${array[$j]} -lt ${array[$i]} ]; then

       aux=${array[$j]};
          array[$j]=${array[$i]};
          array[$i]=$aux;
       fi
       j=$(($j + 1));
    done
    i=$(($i + 1));
  done

for n in ${array[@]}; do

    echo "$n";
  done
}

Bom, era isso que eu tinha para mostrar, espero que seja útil para alguém.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Estruturas de controle
   3. Funções
   4. Arrays

JavaScript - Programação orientada a objetos

AWK - Manipulação de arquivos de texto

Bitwise - Escovando os bits

Como criar um box para o Vagrant

Servidor FTP externo no Ubuntu 12.04 - Criação e configuração

Introdução ao Shell Script - Baseado no livro de Ken O. Burtch

Monitoramento automático de logs e alertas por e-mail - Fácil e explicado

Variáveis, if, else e unless em Ruby

Programando em shell script (conceitos básicos)

Shell - Funções

#1 Comentário enviado por Jvek em 14/02/2013 - 12:36h
Cara ótimo artigo. Parabéns!
#2 Comentário enviado por removido em 14/02/2013 - 12:52h
Também gostei!

E como tudo isso é novidade pra mim (e para muitos também), sugiro continuações.
Algo como: Programação com Shell Script - Parte II... etc.


Parabéns!
#3 Comentário enviado por jwolff em 14/02/2013 - 16:09h
Muito bom cara :D
#4 Comentário enviado por xerxeslins em 14/02/2013 - 17:03h
Cara... Eu como iniciante em shell script, só tenho uma coisa a dizer spbre seu artigo: FAVORITADO!

Estou aprendendo as noções de shell script agora e achei bacana a forma didática, simples e bem clara que usou para ensinar!

Espero continuações.

Abraço!
#5 Comentário enviado por dsantoro em 14/02/2013 - 20:23h
Você é o Paulo Dias que trabalhava no Atacadão de Rio Grande? rs
#6 Comentário enviado por newbie-linux em 15/02/2013 - 00:34h
muito bom, parabéns pelo tópico.
#7 Comentário enviado por lcavalheiro em 15/02/2013 - 22:06h
Excelente artigo, favoritado!
#8 Comentário enviado por vmaia em 16/02/2013 - 11:11h
Nice!!!
#9 Comentário enviado por lucianofsjr em 18/02/2013 - 17:31h
mais um q favoritou!!
^^

parabéns pelo artigo cara!!
#10 Comentário enviado por di4s em 18/02/2013 - 20:46h
Valeu pessoal, que bom que o artigo está sendo util. até mais...
#11 Comentário enviado por mlmlightman7 em 17/02/2016 - 21:35h
Parabéns!! Muito bom o ensinamento. Claro e preciso.

Contribuir com comentário

Entre na sua conta para comentar.