shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Duvidas no IF, ELIF ELSE


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Re: Duvidas no IF, ELIF ELSE
Date: Tue, 25 Jul 2006 20:03:44 -0300

Otavio, dei uma dica para usar o dialog, mas tem algo bem bacana no
bash que eu nunca tinha usado e estou adorando - brinquedo novo,
hehehe

select opcao in "cadastrar" "marcar provas" "..." "sair"; do
    echo "opcao escolhida: $opcao"
    case "${REPLY}" in
        1) cadastrar ;;
        2) marcar_prova ;;
        3) ... ;;
        4) break ;;
    esac
done

isto fara algo assim:

1) cadastrar
2) marcar provas
3) ...
4) sair
#?

ou seja, será montado um menu e vc informa o numero correspondente à
ação que vc quer. a opção fica na variavel que vc indicar depois do
select ... e o número digitado fica na variavel REPLY. vc pode montar
um CASE então e chamar funções específicas (ou outros scripts) e pode
sair do select com uma instrução break (ou exit -- que aborta o
script).

o prompt que o select informa é o PS3 - vc pode customiza-lo

PS3=" > "

por exemplo.

ai vc não precisa fazer um monte de echo e read e echo -n e laço while...

tri bom esse select, tche!!!

On 7/25/06, campos.otavio <address@hidden> wrote:
Bem meu script e para fazer o cadastro de alunos
e receber suas notas na digitação.
Esse script vai ter uma serie de escolhas, que
cada escolha chama um outro script.
Como foi descuido de minha parte não ter explicado
nos minimos detales para que serve meu script,
resolvi fazer isso agora antes tarde do que nunca.
Agora acho que esta bem documentado mas,
quero que vocês continuem apontando onde devo
colocar os meus comentarios, pois não tem vocês
saberem oque passa aqui na minha maquina.
Vou terminar esse script e deixar ele totalmente
funcional para passar para os outros scripts que
eu também estou tendo uns pequenos problemas, ai
quando acabr esse eu postos os outros aqui.
Abaixo esta o script atual e funcional que ao meu
ver esta tudo normal pois não houve falha na sua
execução mas, melhor vocês darem uma confirida nele:

################# escolha.sh ####################

#!/bin/bash

# Script para escolha das opçoes da digitaçao.

# Abaixo esta as opçoes que usuario tem.
# Estou escrevendo na tela para o
# usuario saber quais escolhas ele tem.
# Usei o comando "echo" para colocar umas
# linhas em branco apos cada opção e na
# ultima linha o "-n" para não haver quebra
# de linha para receber a resposta do usuario.

echo "Faça sua escolha:"
echo
echo "Cadastra alunos (1)"
echo
echo "Marcar as notas (2)"
echo
echo "Ver ficha do aluno (3)"
echo
echo "Sair (4)"
echo
echo -n "Sua escolha e: "

# Agora vou ler a escolha do usuario e
# executar o script segundo essa escolha.
# Vou colocar isso em um sequencia de
# if, elif e else.
# Estou usando o 'echo "1"', 'echo "2"'
# para saber qual linha esta sendo executada.
# Aqueles linhas que terminam com .sh são
# script que eu já crie e cada um faz uma função
# O "cadastro.sh" faz cadastro dos alunos.
# O "notas.sh" busca alunos já cadastro
# para incerir suas notas.
# O "visualizar.sh" vizualiza o cadastro
# feito do aluno.
# No ELSE sai do script so isso.

read escolha

if   [ "$escolha" -eq 1 ] ; then
        echo "1";
        ./cadastro.sh;
elif [ "$escolha" -eq 2 ]; then
        echo "2";
        ./notas.sh;
elif [ "$escolha" -eq 3 ]; then
        echo "3";
        ./visualizar.sh;
else
        echo "4";
        exit;
fi

#FIM DO SCRIPT.







---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


Links do Yahoo! Grupos










--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]