[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