Eu não acho que o bash faça algo tão chique (ele faz cache de caminhos para executáveis especificados sem caminhos, mas isso não se aplica aqui, já que você está especificando o caminho)
Parece que o diretório em que você estava foi movido ou montado. No caso de construir software, o movimento do diretório é mais provável.
Caso de movimentação de diretório
Um exemplo de recriar o comportamento de um movimento de diretório, no terminal 1
cd /tmp
mkdir dir1
cd dir1
touch exampleFile
Em seguida, no terminal 2:
cd /tmp
mv dir1 dir2
mkdir dir1
cd dir1
Ambos os shells aparecem como estando em um diretório chamado 'dir1', mas uma listagem mostrará conteúdos diferentes. Se o terminal2 criar um arquivo chamado 'exampleFile', ambos os shells mostrarão 'exampleFile' em 'dir1', mas eles são arquivos diferentes. Isso ocorre porque o shell no terminal 1 está de fato em dir2 agora, ele simplesmente não o conhece. O shell no terminal 1 pode chegar ao verdadeiro 'dir1' via cd:
cd .
Isso parece estranho, mas resolve novamente o caminho.
Sobre o caso de montagem
Isso ocorre quando um shell (ou qualquer programa) está em um diretório e, em seguida, um sistema de arquivos é montado sobre ele. Por exemplo, no terminal 1:
mkdir /tmp/dir1
cd /tmp/dir1
terminal 2:
mount /dev/whateverdev /tmp/dir1
cd /tmp/dir1
O terminal 1 vê os arquivos do sistema de arquivos original nesse diretório. O terminal 2 vê os arquivos de / dev / whateverdev.
Como evitar
No caso de montagem excessiva, isso é principalmente apenas estar ciente do que você está fazendo ou de como a sua máquina está configurada (por exemplo, se um automounter estiver sendo executado quando uma unidade USB estiver conectada).
No caso de movimentações de diretório, isso depende um pouco mais do sistema de compilação. Se houver uma regra que faça um backup do diretório de saída antigo, movendo-o e, em seguida, crie um novo diretório para a nova compilação, você se deparará com essa situação com bastante frequência. Verifique suas regras de criação para truques.
Claro, isso também poderia ter sido um acidente não intencional de uma única vez (semelhante ao que foi mostrado no primeiro exemplo acima). Nesse caso, a consciência de que isso pode acontecer ajudará você.