Visite também: Ipok ·  Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

 

Algumas implementações do Bash 4.0

Por Júlio Cezar Neves

Data de Publicação: 23 de Maio de 2010

1. Novas substituições de parâmetros

2. Substituição de chaves

Elas são usadas para gerar cadeias arbitrárias, produzindo todas as combinações possíveis, levando em consideração os prefixos e sufixos.

Existiam 5 sintaxes distintas, porém o Bash 4.0 incorporou uma 6ª. Elas são escritas da seguinte forma:

  1. {lista}, onde lista são cadeias separadas por vírgulas;
  2. {inicio..fim};
  3. prefixo{****}, onde os asteriscos (****) podem ser substituídos por lista ou por um par inicio..fim;
  4. {****}sufixo, onde os asteriscos (****) podem ser substituídos por lista ou por um par inicio..fim;
  5. prefixo{****}sufixo, onde os asteriscos (****) podem ser substituídos por lista ou por um par inicio..fim;
  6. {inicio..fim..incr}, onde incr é o incremento (ou razão, ou passo). Esta foi introduzida a partir do Bash 4.0.

      $ echo {1..A}	# Letra e número não funfa
      {1..A}
      $ echo {0..15..3}	# Incremento de 3, só no Bash 4
      0 3 6 9 12 15
      $ echo {G..A..2}	# Incremento de 2 decresc, só no Bash 4
      G E C A
      $ echo {000..100..10}	# Zeros à esquerda, só no Bash 4
      000 010 020 030 040 050 060 070 080 090 100
      $ eval \>{a..c}.{ok,err}\;
      $ ls ?.* 
      a.err  a.ok  b.err  b.ok  c.err  c.ok
    
    A sintaxe deste último exemplo pode parecer rebuscada, mas substitua o eval por echo e verá que aparece:
      $ echo \>{a..c}.{ok,err}\; 
      >a.ok; >a.err; >b.ok; >b.err; >c.ok; >c.err;
    
    Ou seja o comando para o Bash criar os 6 arquivos. A função do eval é executar este comando que foi montado. O mesmo pode ser feito da seguinte maneira:

      $ touch {a..z}.{ok,err}
    

    Mas no primeiro caso, usamos Bash puro, o que torna esta forma pelo menos 100 vezes mais rápida que a segunda que usa um comando externo (touch).

 

 


Veja a relação completa de artigos desta coluna
  • Currently 3.53/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.5 /5 (30 votos)


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Cantinho do Shell NewsFeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script




 

Com este livro, você aprenderá como lidar com ameaças reais ao seu app, tenha você ou não experiência anterior com problemas de segurança.  - Examine a arquitetura e o modelo de segurança do Android e como ele isola o sistema de arquivos e base de dados.