Caracteres incomuns na expansão de Brace de caracteres no bash

1

Eu estava gerando caracteres aleatórios para algum propósito. Por engano eu tento o seguinte em um terminal e tenho algum resultado surpreendente. Estou usando o bash shell fornecido pelo Ubuntu.

$ echo {Z..a}
Z [  ] ^ _ ' a

Inspirando-se nesse resultado, eu fiz

$ echo {z..A}
z y x w v u t s r q p o n m l k j i h g f e d c b a ' _ ^ ]  [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

Minha pergunta é quais são esses cinco caracteres que [ ] ^ _ ' estão fazendo no intervalo. Eles têm algum significado especial ou estou apenas realizando alguma ação proibida?

As pessoas geralmente usam $ echo {{A..Z},{a..z}} para obter os caracteres mais baixos e maiúsculos,

    
por souravc 09.05.2015 / 06:14

1 resposta

3

Dê uma olhada na tabela ascii. Depois de Z maiúsculos, existem exatamente aqueles personagens que você tem, então não há surpresa - leia a tabela ascii de onde você mandou, para onde você mandou. O \ não aparece, porque é normalmente usado para sequências de escape como \n - newline

    
por Sergiy Kolodyazhnyy 09.05.2015 / 06:33