ola_mundo.sh - Mostra a mensagem "Olá Mundo" na tela

Publicado por Daniel Zaia Manzano (última atualização em 21/08/2013)

[ Hits: 11.518 ]

Download ola_mundo.sh




Observações:

- Execute primeiramente com a opção -h ou --help para conhecer as opções disponíveis.
- A opção -p ou --progressiva somente funcionará caso o pacote "pv" esteja instalado.

  



Esconder código-fonte

#!/bin/bash
#
# ola_mundo.sh - Mostra a mensagem "Olá Mundo" na tela
#
# Autor: Daniel Zaia Manzano <sh11td0wn@gmail.com>
#
# -------------------------------------------------
#
# Este programa mostra a mensagem "Olá Mundo" na tela.
#
# Exemplo:
#
# $ ./ola_mundo.sh
#
# Olá Mundo
#
# -------------------------------------------------
#
# Histórico de versões:
#
# v0.1 08-08-2013 (Daniel):
#   - Funcionalidade básica
#   - Adicionada opção de ajuda -h e --help
#   - Adicionada opção de versão -V e --version
#
# v0.2 08-08-2013 (Daniel):
#   - Melhoria estética na mensagem de versão.
#   - Correção de bug > Execução anormal se não houvesse opções.
#
# v0.3 08-08-2013 (Daniel):
#   - Correção de bug > Nada acontecia se não houvesse opções.
#
# v0.4 08-08-2013 (Daniel):
#   - Melhoria estética na mensagem de opção inválida.
#   - Suporte a múltiplas opções.
#   - Adicionada opção de saída colorida -c e --color.
#   - Adicionada opção de saída maiúscula -u e --upper.
#
# v0.5 08-08-2013 (Daniel):
#   - Retirada da opção de saída maiúscula -u e --upper.
#   - Correção de bug > opções de saída colorida com resultado anormal.
#
# v0.6 08-08-2013 (Daniel):
#   - Adicionada opção de saída progressiva -p e --progressiva.
#
# v0.7 09-08-2013 (Daniel):
#   - A mensagem principal deixa de ser variável e se torna função.
#   - Correção de bug > opção de saída progressiva com resultado anormal.
#
# v0.8 09-08-2013 (Daniel):
#   - A mensagem principal deixa de ser função e se torna variável.
#
# v0.9 09-08-2013 (Daniel):
#   - Correção de bug > múltiplas opções com resultado anormal.
#   - Correção de bug > resultado padrão estava vazio.
#
# v0.9a 09-08-2013 (Daniel):
#   - Correção de bug > Resultados com aparência diferente dependendo da
#   opção.
#
# v1.0 11-08-2013 (Daniel):
#   - Modificação da mensagem de ajuda.
#
# -------------------------------------------------
#
# BUGs conhecidos
#
# * Caso a 2ª opção seja a inválida, aparece somente a 1ª como inválida.
#
# -------------------------------------------------
#
# Variáveis
#
MSG_HELP="

 $(basename "$0") - Mostra a mensagem 'Olá Mundo' na tela.

 Uso: $(basename "$0") [ -h | -V | -c | -p ]

  -h, --help        Mostra essa mensagem de ajuda e sai.
  -V, --version     Mostra a versão do programa e sai.
  -c, --color       Exibe a mensagem colorida.
  -p, --progressiva Exibe a saída de forma progressiva.

"
MSG_VERSION="

 $(basename "$0") - versão $(egrep 'v.\..' $0 | cut -d " " -f 2 | tail -n 1 |\
 tr -d v)

"
MSG_INVALID_OPTION="

 "$1" -- Opção inválida

"
OLA_MUNDO=" Olá Mundo "
#
# Flags
#
COLOR=0
PROGRESSIVA=0
#
# -------------------------------------------------
#
# Verificação de opções da linha de comando
#
while test -n "$1"
do
    case "$1" in
        -h | --help)
            echo "$MSG_HELP"
            exit 0
        ;;
        -V | --version)
            echo "$MSG_VERSION"
            exit 0
        ;;
        -c | --color)
            COLOR=1
        ;;
        -p | --progressiva)
            PROGRESSIVA=1
        ;;
        *)
            echo "$MSG_INVALID_OPTION"
            exit 1
        ;;
    esac
    shift
done
#
# -------------------------------------------------
#
# Ativando flags
#
test "$COLOR" = 1 && OLA_MUNDO=$(echo -e "{FONTE}33[31m$OLA_MUNDO{FONTE}33[m")
if test "$PROGRESSIVA" = 1
then
    echo "$OLA_MUNDO" | pv -q -L 10
    exit 0
fi
#
# -------------------------------------------------
#
# Bloco principal
#
echo "$OLA_MUNDO"
exit 0
#

Scripts recomendados

Script para conversão de videos em lote

Controle de cheques-mysql

Modifique o script abaixo de modo que ele tenha funcionalidade total, ou seja, se o

Maior ou Menor (script operadores)

Atualizando pacotes no Ubuntu


  

Comentários
[1] Comentário enviado por vitinho217 em 07/07/2014 - 11:13h

Um pouco comeplexo para um programa hello world, não acha ? ;)

[2] Comentário enviado por dzm_linux em 10/07/2014 - 21:35h


Amigo,

Eu diria que o script é extenso sim, mas não complexo.
Basta ler atentamente o código, e saber minimamente de shell script.

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts