ls comando: como ignorar maiúsculas sem globbing

5

Eu uso o comando shopt -s nocaseglob para ignorar o caso, mas parece que não funciona se eu usar uma string sem glob.

Apenas uma questão por curiosidade, é possível ignorar o caso sem globbing? ou seja, ls a produziria a e A

    
por 林果皞 26.04.2014 / 13:36

2 respostas

5

Não com ls no. Você poderia, no entanto, usar algo assim:

$ ls [Aa]
$ find . -iname a
$ echo [aA]

A razão por trás disso é que o comando shopt afeta apenas como os globs são expandidos pelo shell. Então, quando você executar ls *a após executar o comando shopt , ele será expandido pelo seu shell para

ls a A 

Assim, como disse @Kevin, o glob é expandido antes ser passado para ls , portanto o nocaseglob não terá efeito quando você fornecer uma string simples e não uma glob.

    
por 26.04.2014 / 17:05
2

Não. A expansão de glob é manipulada pelo shell antes que ls seja chamado.

    
por 26.04.2014 / 16:28