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

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

[ Hits: 11.652 ]

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 verificação do serviço do Apache (webserver) em sistemas Linux Ubun

Instalador de pacotes para Sabayon Linux

Exibir configurações de REDE de maneira amigavel.

Bloquear pelo Hosts

Mostrando um exemplo de redirecinamento


  

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