Você está na página 1de 17

Professor: Felipe Soares

05/06/2014
Adminstrao de Sistemas - Felipe
Soare de Oliveira
Uma das mais simples estruturas de dados.
Os arrays mantm uma srie de elementos de
dados, geralmente do mesmo tamanho e tipo
de dados.
Elementos individuais so acessados por sua
posio no array.
A posio dada por um ndice.
O ndice geralmente utiliza uma seqncia
de nmeros inteiros
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Seus elementos so acessveis de forma mais
rpida.
A forma de acesso aos elementos de um array
direta.
Isto quer dizer que o elemento desejado
obtm-se a partir do seu ndice e no
preciso procur-lo elemento por elemento.
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Notao:
vet[n]=valor
Onde:
vet: nome do vetor;
n: seu ndice;
valor: valor que se est atribuindo quele elemento
do array;
Verificar o contedo de um elemento de um
vetor (Notao):
${vet[n]}
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Familia[10]=Silvina
Familia[22]=Juliana
Familia[18]=Julio
echo ${Familia[22]}
Juliana
Usando a notao sinttica do Bash:
Frutas=(abacaxi banana laranja tangerina uva)
echo ${Frutas[1]}
banana
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
A indexao de um vetor comea em zero e
no em um:
echo ${Frutas[0]}
abacaxi
Vetores esparsos:
Veiculos=([2]=jegue [5]=cavalo [9]=patinete)
echo ${Veiculos[5]}
cavalo
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Opo -a do comando read: l direto para
dentro de um vetor:
read -a Animais <<< cachorro gato cavalo
Ver se funcionou:
for i in 0 1 2
do
echo ${Animais[$i]}
done
cachorro
gato
cavalo
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Usando Expresses Aritmticas
echo ${Frutas[10-6]}
uva
echo ${Frutas[10/5]}
laranja
echo ${Frutas[2*2]}
uva
echo ${Frutas[0*3]}
abacaxi
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Listar todos os elementos de um vetor:
echo ${Frutas[*]}
abacaxi banana laranja tangerina
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Obter a quantidade de elementos de um
vetor:
echo ${#Frutas[*]}
5
Copiar um vetor inteiro para outro:
array=${Frutas[@]}
echo $array
abacaxi banana laranja tangerina uva

05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Dois pontos (:) servem para especificar uma
zona de corte em uma varivel:
var=0123456789
echo ${var:1:3}
123
echo ${var:3}
3456789
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Em vetores:
echo ${Frutas[*]:1:3}
banana laranja tangerina
echo ${Frutas[*]:3}
tangerina
echo ${Frutas[0]:1:4}
baca
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
string="this is a substring test
substring=${string:10:9}
echo substring
substring
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
x="This is my test string."
echo ${x#* }
is my test string.

x="This is my test string."
echo ${x% *}
This is my test


05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
Fazer um array com 5 cores, e imprimir o seu
contedo usando a estrutura de repetio
while.
05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
#! /bin/bash
array=(vermelho verde azul amarelo marrom)
len=${#array[*]}
echo "O Array tem $len membros. Sao ele:"
i=0
while [ $i -lt $len ]; do
echo "$i: ${array[$i]}"
let i++
done

05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira
NEVES, Julio Cezar, Programao Shell Linux.
Editora Brasport, 2008.
http://www.arachnoid.com/linux/shell_progr
amming.html
Slides do Professor Cleber Fonseca


05/06/2014
Adminstrao de Sistemas - Felipe
Soares de Oliveira

Você também pode gostar