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

[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
>




reply via email to

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