[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] pattern match no bash
From: |
Tiago Tarifa Munhoz |
Subject: |
Re: [shell-script] pattern match no bash |
Date: |
Sun, 12 Aug 2018 19:01:22 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.7.0 |
Acertou em cheio Paulo.
Eu estava testando no meu trabalho com o OpenSuSE 15, mas em casa uso o
Gentoo e deu o mesmo problema.
Depois que ativei a opção extglob da forma como você descreveu, o
problema parou de ocorrer.
Algo que ainda não entendo muito são os parâmetros do Bash. Com certeza
é algo que preciso parar para dar uma boa lida.
Para quem não sabe também, no manual a opção extglob diz o seguinte:
/*extglob*//: If set, the extended pattern matching features described
above under //*Pathname Expansion*//are enabled. /(Era exatamente o que
eu precisava)
Obrigado a todos.
address@hidden [shell-script] wrote:
>
>
> Olá Tiago, tive o mesmo resultado aqui. Na linha de comando funciona,
> num script não.
> Parece ser a opção extglob ligada ou não. Pelo jeito depende da distro.
> Eu ligo no .bash_profile, mas no ambiente do script a opção fica
> desligada.
> Experimente colocar 'shopt -s extglob' no início do script.
> Abraços Paulo
>
> On 8/10/18 3:43 PM, Tiago Tarifa Munhoz address@hidden
> [shell-script] wrote:
> >
> > Vinicius Costa Carvalho:
> >
> > Cara, não deu certo sua dica... mesmo erro. Mas obrigado.
> >
> >
> > Leonardo Goretti:
> >
> > Funcionou certinho. Muito obrigado!
> >
> > Agora fica a dúvida do porque o comando que citei não funciona em um
> script e em linha de comando funciona....
> >
> >
> > Em sex, 10 de ago de 2018 às 14:46, 빠는 Leonardo Goretti
> address@hidden
> > <mailto:address@hidden> [shell-script]
> <address@hidden
> > <mailto:address@hidden>> escreveu:
> >
> > __
> >
> > Tenta
> >
> > du -hsx --exclude=/{proc,sys,dev} /*
> >
> > Em sex, 10 de ago de 2018 às 14:32, Tiago Tarifa Munhoz
> address@hidden
> > <mailto:address@hidden> [shell-script]
> <address@hidden
> > <mailto:address@hidden>> escreveu:
> >
> > __
> >
> > Pessoal,
> > estou fazendo um script que coleta o tamanho dos diretórios na raiz.
> Porém não quero colocar alguns
> > deles como: /proc, /sys, /dev
> >
> > Dentro do script eu coloquei o seguinte comando usando pattern match:
> > du -sh /!(proc|sys|dev)
> >
> > se eu executar o script aparece o seguinte erro:
> > ./teste.sh: line 9: syntax error near unexpected token `('
> > ./teste.sh: line 9: `du -sh /!(proc|sys|dev)'
> >
> > porém se eu executar o mesmo comando direto no shell funciona.
> >
> > Há poderia dar algum pitaco nesse problema?
> > versão do bash: GNU bash, version 4.4.19(1)-release
> (x86_64-suse-linux-gnu)
> >
> >
> >
> > --
> >
> > Leonardo Goretti
> > Gerência e Operações
> > Analista de infraestrutura - GNU/LINUX
> > Instrutor GNU/LINUX
> > Itil V3
> > Celular: +55 (61) 97402-3166
> >
> > Gtalk: address@hidden <mailto:address@hidden>
> > U2Ugdm9jw6ogZGVjcnlwdG91IMOpIHBvciBxdWUgc2FiZSBkYXMgY29pc2FzCg==
> > ----------------------------------------------
> >
> >
> >
> > ----------------------------------------------------------
> > Enviado por: Tiago Tarifa Munhoz <address@hidden>
> > ----------------------------------------------------------
> > Responder através da web
>
>