0% acharam este documento útil (0 voto)
13 visualizações

Shell

O documento apresenta um tutorial sobre shell script, abordando tópicos como variáveis, condicionais, loops, funções e referências. É apresentado um exemplo Hello World e exemplos práticos para ilustrar cada tópico.

Enviado por

rhickardo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações

Shell

O documento apresenta um tutorial sobre shell script, abordando tópicos como variáveis, condicionais, loops, funções e referências. É apresentado um exemplo Hello World e exemplos práticos para ilustrar cada tópico.

Enviado por

rhickardo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 20

Shell Script

Leonardo Menezes Vaz


<[email protected]>
Tópicos
● Hello World!!
● Variáveis
● Condicionais
● Loops
● Funções
● Referências
Hello World!!
#!/bin/bash
#
# Hello World - Imprime mensagem e sai. :o)
#
# Changelog:
# * Qua Abr 07 2010 Fulano <[email protected]> - 0.1
# - Versao inicial
#
#--------------------------------------------------

echo -en "Hello World!!\n"


Executando um Script...

[fulano@box ~]$ chmod +x script.sh


[fulano@box ~]$ ./script.sh
Hello World!!
Variáveis
NOME=HelloWorld
MENSAGEM="Hello World"
VERSAO="0.1"
BASEDIR=/usr/share/
USUARIO=`whoami`
VERBOSE=0

PROGDIR=${BASEDIR}/${NOME}-${VERSAO}
DATA=$(date +%Y%m%d)
Condicionais - if

if [ <CONDICAO> ]; then
COMANDOS...
else
COMANDOS...
fi
Exemplo prático...

DIR=/tmp/foo

echo ">> Verificando ${DIR}"


If [ -d "${DIR}" ]; then
echo " Diretorio ${DIR} existe..."
else
echo " Diretorio ${DIR} nao existe..."
fi
Loops - for

for VAR in <LISTA DE ELEMENTOS> ; do


COMANDOS...
done
Exemplo prático...

echo ">> Aguarde..."


for count in 1 2 3 4 5 ; do
sleep 1;
echo -en "${count} "
done
echo -en "\n>> Pronto...\n"
Loops - while

while <CONDICAO> ; do
COMANDOS...
done
Exemplo prático...

SAIR=0
while [ "${SAIR}" -ne 1 ] ; do
echo "Deseja sair do programa? S / N"
read opcao
[ "${opcao}" = "S" ] && SAIR=1
done
Condicionais - case
case "$VAR" in
Valor A )
COMANDOS...
;;
Valor B )
COMANDOS...
;;
*)
COMANDOS...
;;
esac
Exemplo prático...
echo "Escolha uma opcao: A ou B"
read OPT
case "${OPT}" in
A)
echo "Voce escolheu A..."
;;
B)
echo "Voce escolheu B..."
;;
*)
echo "Opcao invalida..."
;;
esac
Funções sem retorno

function nome_da_funcao () {
COMANDOS...
}
Exemplo prático...
# Exibe mensagem e sai, sem variavel de retorno
function exibe_erro () {
if [ $# -bt 0 ]; then
echo "$* "
exit 1
fi
}
Funções com retorno
function nome_da_funcao () {
COMANDOS...
[ return CODIGO ]*
}

* opcional
Exemplo prático...
# Verifica se o diretorio passado como parametro existe,
# retonando “0” se ele existir ou “1” se ele nao existir
function verifica_dir () {
[ -z $1 ] || _exibe_erro "Faltou informar o diretorio"
if [ -d ${1} ]; then
return 0
else
return 1
fi
}
Usando funções...

verifica_dir "/tmp/foo"
if [ $? -eq "0" ]; then
echo "Diretorio existe"
else
echo "Diretorio nao existe"
fi
Referências na Internet
Recursos sobre Shell Script
http://aurelio.net/shell
Canivete do Shell Script
http://aurelio.net/canivete
Referências bibliográficas
Livro Programação Shell Linux
Julio Cezar Neves – Editora BRASPORT

Shell Script Profissiona


Aurelio Marinho Jargas – Editora Novatec

Expressões Regulares: Uma abordagem divertida


Aurelio Marinho Jargas – Editora Novatec

Você também pode gostar