[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] case e shift
From: |
Guilherme Gall |
Subject: |
Re: [shell-script] case e shift |
Date: |
Sat, 3 Jan 2009 11:57:35 -0200 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Desculpem sair do assunto da thread, mas o que diferencia comparação
de strings de comparação de números não é o uso das aspas e sim o uso
de diferentes operadores de comparação.
Dê uma olhada em http://aurelio.net/shell/canivete.html#test para ver
os diferentes operadores.
Quanto ao uso das aspas: nesse caso específico (ver se o número de
parâmetros é maior que zero), não faz diferença usar ou não, mas em
geral é uma boa prática proteger as variáveis com aspas. Exemplo
adaptado do livro Shell Script Profissional do Aurélio:
$ nome="Maria Silva"
$ test $nome = maria && echo verdadeiro || echo falso
bash: test: too many arguments
falso
$ test "$nome" = maria && echo verdadeiro || echo falso
falso
Perceba que o erro gerado pelo não uso de aspas no meio de um script
grande pode ser difícil de detectar.
Saudações,
- --
Guilherme Magalhães Gall (GMGall)
GPG Public Key ID: 0F498058
2009/1/3 Elder Marco :
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: http://getfiregpg.org
iEYEARECAAYFAklfcJkACgkQZV3qXg9JgFhLIgCgrb7cMIDHpof72thjvgMPNvVc
NPkAoIHenLwaXEhKXQeSlMQ7IHLo1pif
=10IH
-----END PGP SIGNATURE-----
[...]
> Observe que eu retirei as aspas do $# e do 0 porque nesse caso, se não me
> engano, você estaria comparando strings e não números.
[...]