-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 02/12/2010 10:35 AM, Thiago Diniz da Silveira wrote:
> Na verdade você não precisa dizer quantos parametros serão passado, dentro
> da função vc deve fazer um controle.
> 
> $# serve para saber a quantidade de parametros passado, $1 acessa o primeiro
> $2 acessa o segundo e assim adiante.
> 
> $* mostra todos os parametros, no exemplo do MrBiTs aparecera na tela: "
> "isso e" uma mensagem "
> mas são diversos parametros diferentes.

Exatamente. $* mostrará todos os parâmetros passados, independente de sua 
quantidade.

Se precisar tratar uma quantidade não sabida de parâmetros, o shift sempre 
ajuda.

E a mensagem que será mostrada é

isso e uma mensagem

sem as aspas. As aspas vão dizer à função para entender "isso e" ser 
interpretado como um único parâmetro.

Tem que demonstrar, então vejamos:

#!/bin/bash

teste() {
        echo "Parametro 1: $1"
        echo "Parametro 2: $2"
        echo "Quantidade: $#"
        echo "Todos os parametros: $*"
}

teste "Isso e" uma mensagem


Saída:
Parametro 1: Isso e
Parametro 2: uma
Quantidade: 3
Todos os parametros: Isso e uma mensagem


- -- 

Um abraço

.0. MrBiTs - mrbits....@gmail.com
..0 GnuPG  - 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iQEcBAEBCAAGBQJLdV0PAAoJEG7IGPwrPKWrJDAIALPiuWlc84NQJrUlPgB8kttw
60b5053YjLuUulMh6C1yKwv1zDd87eLedpbzZtEMBUaX0ZUsYqIytHShOJdHei14
uovo4YUEx3DEhp2PnT5R9gMrz2RvR24+jCA9ZiSD7x+yC6FBTXFoJkXFtbxO/VNZ
9pdSuyF/bk6/bk/uQsVsoyAsHUyPBQq4glPNBm4lXSuyO/8zJlN7utybf7PVBXH6
50SVITSAaw4fnei8h59QJif3F7ydnRtkN2QmPG/fZ/W1k2A21uxsRTzAM+ZNa4R9
mGFHUHrQqd8UUtEA0V/xoEYLPW1zGk9HDGwLtcLy84HopmSp4XULQgtoorZMkI8=
=1fjK
-----END PGP SIGNATURE-----

Responder a