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

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

Re: [shell-script] funções


From: Mateus Caruccio
Subject: Re: [shell-script] funções
Date: Wed, 04 Jun 2003 00:11:56 +0800

ola,

   voce pode fazer assim:

##########################
# arquivo com as funcoes:

function func1 () {
   echo "funcao 1: $# parametros"
   echo $1
}

function func2 () {
   echo "funcao 2: $# parametros"
   echo $1
}

function func3 () {
   echo "funcao 3: $# parametros"
   echo $1
}

# fim das funcoes
################################
# arquivo que chama as funcoes

source /arquivo/com/as/funcoes
for i in $(seq 1 10); do
  type func$i && func$i "IP_DO_DITO_CUJO"
done

# fim do arquivo que chama as funcoes
#####################################


pra passar paremetros tu nao faz nada, simplesmente passa. o () é apenas 
decorativo (como ja dito antes).
basta chamar:

# nome_da_funca paramatro_1 parametro_2

os parametro nao possuem tipo (int,char,etc..) portanto nao precisam ser 
declarados. sao todos acessados pelo seu indicie ($1, $2,  $3, etc...). A 
variavel $# te diz o numero de parametros (sem incluir o nome da funcao). No 
exemlo acima, $# seria 2. O valor de retorno de uma funcao eh o valor de 
retorno do ultimo comando executado, portanto:

function func() {
  pwd
  l /dir/q/nao/existe
  true
}

retorna o valor de retorno de "true" (0)

[]s

  Mateus Caruccio

----- Original Message -----
From: Junior Mulinari <address@hidden>
Date: 03 Jun 2003 12:22:30 -0300
To: address@hidden
Subject: Re: [shell-script] funções

> Legal!! Obrigado pela resposta.
> 
> O que estou fazendo é um script que chama um arquivo com funções, e
> somente algumas delas podem ser executadas (configme o ip da maquina).
> Mais ou menos assim:
> 
> update1 () {
>         :
> }
> 
> update2 () {
>         :
> }
> 
> Ele baixa esse arquivo, depois conta as funções "update" e faz um "for"
> para executalas. O que queria fazer, era passar alguma coisa dento do
> "()" (tipo o ip da maquina), ou de outra forma mesmo, para limitar as
> maquinas que seriam feitos os updates.
> 
> é possivel?
> 
> sds
> 
> Júnior
> 
> Em Ter, 2003-06-03 às 09:34, address@hidden escreveu:
> > Só pra complementar, o envio de parâmetros para a funcão é posicional, 
> > você não precisa declará-los dentro dos parênteses.
> > 
> > Tipo:
> > ------------------------inicio script --------------------
> > function teste( ){
> > 
> >   if [ "$1" != "" ]; then
> >         echo "parametro 1: $1"
> >   fi
> > 
> >   if [ "$2" != "" ]; then
> >         echo "parametro 2: $2"
> >   fi
> > 
> >   if [ "$3" != "" ]; then
> >         echo "parametro 3: $3"
> >   fi
> > 
> >   # e assim sucessivamente...
> > 
> > }
> > 
> > teste Oi
> > echo ================
> > teste ola voce
> > echo ================
> > teste so pra testar
> > ---------------------- fim script -------------------------
> > Produziria o seguinte resultado:
> > 
> > parametro 1: Oi
> > ================
> > parametro 1: ola
> > parametro 2: voce
> > ================
> > parametro 1: so
> > parametro 2: pra
> > parametro 3: testar
> > 
> > []s,
> > Gustavo.
> > 
> > Junior Mulinari wrote:
> > 
> > >Olá a todos!!!
> > >
> > >Tenho uma duvida quando a funções. Para criar uma função no bash pode
> > >ser feito com a seguinte sintaxe:
> > >
> > >_funcao () {
> > >   comandos...
> > >}
> > >
> > >_funcao
> > >
> > >Os dois parenteses após _funcao, server exatamente para que? Para
> > >variavel? para definições?
> > >
> > >sds
> > >
> > >  
> > >
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > 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.listasdiscussao.cjb.net
> > ---------------------------------------------------------------------
> >  
> > 
> > Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> > http://br.yahoo.com/info/utos.html
> -- 
> Junior Mulinari
> address@hidden
> SOLIS - Soluções em Software Livre - http://www.solis.org.br
> CPD - Univates - http://www.univates.br
> 
> 
> 
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> http://br.yahoo.com/info/utos.html 
> 
> 



# ########################################################
# Mateus de Oliveira Caruccio <caruccio at operamail.com>
# Linux User #183552 - UIN #37364320
# Vim, vi e matei o Emacs !



    
-- 
____________________________________________
http://www.operamail.com
Get OperaMail Premium today - USD 29.99/year


Powered by Outblaze


reply via email to

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