[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: retorno à função
From: |
nerobarrabas |
Subject: |
Re: retorno à função |
Date: |
Mon, 04 Nov 2013 11:49:38 -0000 |
User-agent: |
eGroups-EW/0.82 |
Vai um exemplo que funciona como vc quer. É só adaptar para seu para seu
kdialog aí:
####################
#!/bin/bash
function Principal() {
clear
echo "Exemplo de uso funcoes e menus"
echo "------------------------------"
echo "Opções:"
echo
echo "1) Trasformar nomes de arquivos"
echo "2) Adicionar um usuário no sistema"
echo "3) Deletar um usuário no sistema"
echo "4) Fazer backup dos arquivos do /etc"
echo "5) Sair do exemplo"
echo
echo -n "Qual a opção desejada? "
read opcao
case $opcao in
1) echo Transformando ... ;;
2) echo Adicionanando ... ;;
3) echo Deletando ... ;;
4) echo Backupeando ... ;;
5) echo Saindo ; exit ;;
*) echo -n "Opcao invalida. Tecle <ENTER> para retornar ao menu ..."
read tecla
Principal ;;
esac
}
Principal
####################
Diramos
--- Em address@hidden, "Gustavo S. de Lima" <gustavo@...> escreveu
>
> Robson. Obrigado pela resposta. Percebi agora que meu script possui
> mais uma falha. Estou relendo ele aqui mas ainda não achei uma resposta.
> Vou colar o código:
>
> function Principal(){
> escolha=$(kdialog --title "kimagens - Organizando de imagens iso" \
> --menu "Selecione a opção desejada:" \
> a "Listar imagens por distribuição" \
> b "Listar imagens por data de download" \
> c "Baixar imagem ISO" \
> d "Verificar integridade de imagens baixadas" \
> e "Cadastrar fonte de download" \
> f "Reparar fonte de download" \
> g "Ler manual de ajuda")
> }
> case $escolha in
> a) kdialog --title "Em construção" --msgbox "Em construção";;
> b) kdialog --title "Em construção" --msgbox "Em construção";;
> c) kdialog --title "Em construção" --msgbox "Em construção";;
> d) kdialog --title "Em construção" --msgbox "Em construção";;
> e) kdialog --title "Em construção" --msgbox "Em construção";;
> f) kdialog --title "Em construção" --msgbox "Em construção";;
> g) kdialog --title "Em construção" --msgbox "Em construção";;
> *) Principal;;
> esac
>
> Os dois problemas que vejo nele agora são não conseguir condicionar a
> opção do usuário de nenhuma forma como antes no primeiro exemplo.
>
> Gustavo
>
>
> Em 2013-11-04 08:34, Robson Alexandre escreveu:
> > A sintaxe correta é
> >
> > function nomedafuncao(){
> > Comandos
> > }
> >
> > ou
> >
> > nomedafuncao(){
> > comandos
> > }
> >
> > PS: eu não denominaria funções e variáveis com acentuação.
> >
> > Atenciosamente
> >
> > Robson Alexandre
> >
> > Em 4 de novembro de 2013 04:57, Gustavo S. de Lima
> > <gustavo@...> escreveu:
> >
> >>
> >>
> >> Caros, estou com uma dúvida quanto ao retorno em uma função através
> >> do
> >> case.
> >>
> >> função
> >> {
> >> variavel=$(kdialog --title "exemplo"
> >> --menu "exemplo"
> >> a "opcao1"
> >> b "opcao2"
> >> c "opcao que eu gostaria que retornasse para a funcao"
> >> }
> >> case $variavel in
> >> a) echo "opcao1";;
> >> b) echo "opcao2";;
> >> *) função;;
> >> esac
> >>
> >> Eu sei que o esquema acima não parece lógico. Mas eu gostaria que
> >> fossem as opções que ainda não estão prontas que retornassem a
> >> função
> >> original.
> >>
> >> O erro acusado quando escolho a opção que ainda não possui entrada
> >> no
> >> case é:
> >> função: comando não encontrado
> >>
> >> É um erro de sintaxe né?
> >>
> >> Gustavo
> >
> >
> >
> > Links:
> > ------
> > [1]
> >
> > http://br.groups.yahoo.com/group/shell-script/post;_ylc=X3oDMTJxZWxuajg1BF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BG1zZ0lkAzM2NzMwBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTM4MzU2MTI2NA--?act=reply&messageNum=36730
> > [2]
> >
> > http://br.groups.yahoo.com/group/shell-script/post;_ylc=X3oDMTJlMmtjMmxyBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTM4MzU2MTI2NA--
> > [3]
> >
> > http://br.groups.yahoo.com/group/shell-script/message/36729;_ylc=X3oDMTM2ajNyOWlyBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BG1zZ0lkAzM2NzMwBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTM4MzU2MTI2NAR0cGNJZAMzNjcyOQ--
> > [4]
> >
> > http://br.groups.yahoo.com/group/shell-script/members;_ylc=X3oDMTJma3JmZXRwBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEzODM1NjEyNjQ-?o=6
> > [5]
> >
> > http://br.groups.yahoo.com/group/shell-script;_ylc=X3oDMTJlbGE2dml0BF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM4MzU2MTI2NA--
> > [6] http://www.listas-discussao.cjb.net
> > [7]
> >
> > http://br.groups.yahoo.com/;_ylc=X3oDMTJkbnVwZHY0BF9TAzk3NDkwNDM1BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMzgzNTYxMjY0
> > [8] http://info.yahoo.com/legal/br/yahoo/utos/terms/
>
> --
> Gustavo S. de Lima
> Logicus Tecnologia de Informação e Comunicação
>