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.

[ Hits: 75.003 ]

Por: Paulo Dias em 14/02/2013 | Blog: http://naotenhosite.eu.nao.tenho


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

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.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Estruturas de controle
   3. Funções
   4. Arrays
Outros artigos deste autor

Como criar um box para o Vagrant

MathML - Mathematical Markup Language

Bitwise - Escovando os bits

Zoneminder: Substituindo um Unifi NVR

JavaScript - Programação orientada a objetos

Leitura recomendada

Criando um banner em flash no Linux

Pipelines (Canalizadores)

Cansou do Konsole e GNOME-Terminal? Existem outros terminais, escolha o seu!

Discar BrasilTelecom com PPPOE no Ubuntu 6.10

Variáveis, if, else e unless em Ruby

  
Comentários
[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.

[12] Comentário enviado por di4s em 17/02/2016 - 23:16h

Obrigado.


Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts