-----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 [EMAIL PROTECTED]  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 ):

[EMAIL PROTECTED]:~ #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 [EMAIL PROTECTED]", 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-----




---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a