Shell
Shell
PROGDIR=${BASEDIR}/${NOME}-${VERSAO}
DATA=$(date +%Y%m%d)
Condicionais - if
if [ <CONDICAO> ]; then
COMANDOS...
else
COMANDOS...
fi
Exemplo prático...
DIR=/tmp/foo
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