-----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