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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 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
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html