[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] duvida funções
From: |
MrBiTs |
Subject: |
Re: [shell-script] duvida funções |
Date: |
Fri, 12 Feb 2010 11:52:15 -0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9pre) Gecko/20100210 Lightning/1.0b1 Shredder/3.0.2pre |
-----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 - address@hidden
..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-----