Estou observando um comportamento no bash que só acontece na minha pasta pessoal. Não consegui reproduzi-lo em nenhuma outra máquina ou pasta.
$ echo --one [--two] --three
--one f --three
$ # Huh?
$ echo [--two] # Why is echo changing my string?
f
$ echo --two # Does it happen without the brackets?
--two
$ echo [--x] --x # Does it happen with a different string?
f --x
$ echo [--arg] --arg # So anything within [-- ... ] changes to f?
[--arg] --arg
$ # WHAT?
$ echo [-x] [--x] [---x] # Does the number of hyphens matter?
[-x] f [---x]
$ cd ./folder; echo [--x]
[--x]
$ # ?????
Então isso só acontece na minha pasta pessoal. Por quê?
Não encontrei nenhuma menção à expansão de uma string para f
no manual do bash. Por que algumas strings estão expandindo para, f
mas outras não? Poderia ser o meu IFS? Tentei esvaziar completamente meu arquivo ~/.bashrc
, e o problema persiste. No entanto, quando tentei isso em um alpine
contêiner Docker, não consegui fazer a f
expansão ocorrer. O que está acontecendo aqui?
(Postando porque encontrei a solução, o que é bastante embaraçoso.)