[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] duvidas
From: |
Flavio Torres |
Subject: |
Re: [shell-script] duvidas |
Date: |
Wed, 04 Oct 2006 22:36:42 -0300 |
User-agent: |
Thunderbird 1.5.0.7 (Windows/20060909) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Tiago Barcellos Peczenyj escreveu:
>
> ok, eu entendi o -E , para interpretar um extended regular pattern mas o
> ${1+"$@"} faz o que ? até agora não saquei...
>
Salve Tiago,
$* e $@ são semelhantes, porém $@ pega os parâmetros intactos sem
interpretação ou expansão.
Veja um exemplo que botei aqui: http://pastebin.com/800406
Agora, com base nisto e nos meus testes...
Eu alterei a sintaxe ${1+"$@"} para ${1}, para ${1+$*}, para
${1+"$*"}, para ${1+$@} funcionou tranquilo com a expressão:
# cat /proc/bus/input/devices | egrep
"^I.*Bus=0011.*Vendor=.*Product=00.*Version=.*"
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
I: Bus=0011 Vendor=0002 Product=0007 Version=0000
E tambem assim ( com um novo subshell ):
root@amenhotep:~ #cat /proc/bus/input/devices | egrep
"^I.*Bus=0011.*Vendor=.*Product=00.*Version=.*\
.*" | egrep "^I.*Version=00.*"
Porém com as mesmas sintaxes e a expressao: # egrep "^aa" ble.txt ele
fica aguardando stdin, exceto para ${1+$*} ( sem "quote", como podera
ver no exemplo do pastebin).
Testei também trocando ${1+$*} para ${1+${2}}, porém o shell nao
entendeu, e fica pedindo o PATTERN para o grep.
Fiz varios outras simulações que até eu me perdi...
Com o alias funcionou para:
$alias bla="grep -E ${1+$@}", ou ${1}, ou ${1+"$*"} ( o que deveria
apresentar erro ou ficar aguardando o stdin, nao aconteceu )
$cat /proc/bus/input/devices | bla
"^I.*Bus=0011.*Vendor=.*Product=00.*Version=.*"
$ bla ^aa ble.txt
Conclusão: Para este caso do egrep com exec só podemos usar a variável
especial $* sem a protecao (quote) " ", ja com o alias, tanto faz...
- --
[]'s
Flavio Torres - Administrador de Sistemas
____________________________________________________________________
PGP/GPG: KeyID 0x7720DBDE
http://www.digitalinfo.com.br/gpg/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
iD8DBQFFJGGqNRQApncg294RAn+eAKD0CdsWf0O3p2VA4C+NpXDB4njg3gCfXlx2
Pa9ZFPPtPlmykgAuWjS+M+Y=
=ocKw
-----END PGP SIGNATURE-----
- duvidas, Tiago Barcellos Peczenyj, 2006/10/04
- Re: [shell-script] duvidas,
Flavio Torres <=