Para acessar arquivos em um diretório de outro diretório, geralmente defino uma variável para esse diretório. Por exemplo (para que você possa experimentar),
exportar dir1=/usr/local/bin
e digite ls $dir1/
seguido de tab
. Eu queria que o shell mostrasse os arquivos em /usr/local/bin mas pelo tab
, o caractere $
é escapado para \
se tornar \$dir1
e o shell não o entende $dir1
mais e não o expande para /usr/local/bin não mostrando os arquivos lá. Isso é muito chato (eu costumava fazer essas coisas sem problemas antes, mas isso está acontecendo a partir do Ubuntu-22.04?). Existe alguma maneira de interromper esse escape automático durante o preenchimento automático do nome do arquivo?
ps - Eu vi https://lists.gnu.org/archive/html/bug-bash/2011-02/msg00280.html mas não encontrei resposta, apenas longas discussões não essenciais que não vão direto ao ponto.
Este comportamento é controlado pela
direxpand
opção shell:Portanto verifique se a opção está configurada no seu shell (
shopt direxpand
) e se não estiver, configure-a comshopt -s direxpand
.Ver