0% acharam este documento útil (0 voto)
27 visualizações20 páginas

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)
27 visualizações20 páginas

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


<leonardo.vaz@gmail.com>
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 <fulano@gmail.com> - 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy