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: address@hidden
Subject: Re: [shell-script] funções
Date: Tue, 03 Jun 2003 15:29:06 -0300
User-agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.3.1) Gecko/20030425

Bom, não sei se entendi bem mas acho que podemos fazer tipo assim:

------ arquivo funcoes.sh ---------------
#!/bin/bash

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
}

-------------- fim funcoes.sh ----------
-------------- principal.sh --------------
#!/bin/bash

# delimitador para comando for
IFS="
"

# inclui arquivo de funcoes
. funcoes.sh

# para cada funcao do arquivo funcoes faca...
# funciona somente se a funcao for declarada como:
# nome_funcao () {
for cmd in $( cat funcoes.sh | grep "(*)*{" | cut -d " " -f 1 ); do
 # executa a funcao
 $cmd estou aqui
done
----------------------- fim principal -------------------

Fico lhe devendo a verificação dos IPs mas ai vale a criatividade.

[]s,
Coreano

Junior Mulinari wrote:

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



reply via email to

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