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

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

RE: [shell-script] Uso de Funcões em shell ?


From: MrBiTs
Subject: RE: [shell-script] Uso de Funcões em shell ?
Date: Fri, 17 Dec 2004 17:02:42 -0200

<QUOTE>
Na verdade os 3 echos vão ser direcionados para a tela de saida...
Para retornar ele tu tinha que mudar a tua saida padrão para uma variavel e
chamar ele como:
result=$(funcao felipe 26 programador)
os 3 echos iam estar contidos dentro de $result
foi mal ae a resposta errada
Se escrevi outra bobagem por favor me corrijam ;-)
</QUOTE>

Ola, Felipe

Voce nunca escreve bobagens :)

A grande duvida é: Voce pode usar espacos no nome da funcao ? Vamos ver:

[root@oas root]# cat d.sh 
#!/bin/bash

minha funcao ()
{ 
        echo $1
        echo $2
        echo $3
}

result=$(funcao parametro1 parametro2 parametro3)
echo $result

Esse é o arquivo. Executando-o

[root@oas root]# bash ./d.sh 
./d.sh: line 3: syntax error near unexpected token `()'
./d.sh: line 3: `minha funcao ()'

Agora, vou tirar o "minha espaco"

[root@oas root]# cat d.sh
#!/bin/bash

funcao ()
{ 
        echo $1
        echo $2
        echo $3
}

result=$(funcao parametro1 parametro2 parametro3)
echo $result

E executa-lo

[root@oas root]# bash ./d.sh
parametro1 parametro2 parametro3

Ou seja, nao podemos usar espacos no nome da funcao.

Fica ai a ideia de testes com caracteres especiais e outros bichos feios
para o pessoal definir nomenclatura de funcoes. 

Ah sim, sempre lembrando que funcoes sao definidas ANTES do processamento
principal de um shell script. Veja o 3o exemplo:

[root@oas root]# cat d.sh
#!/bin/bash

result=$(funcao parametro1 parametro2 parametro3)
echo $result

funcao ()
{ 
        echo $1
        echo $2
        echo $3
}

[root@oas root]# bash ./d.sh 
./d.sh: funcao: command not found

[]'s






reply via email to

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