Bem, descobri a solução para esse problema.
Meu bash_profile incluiu um asterisco abaixo da última linha, que eu deixei de incluir quando fiz a pergunta - minhas desculpas, nem percebi isso:
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function
export PATH=${PATH}:/usr/local/mysql/bin #ADDS MYSQL TO PATH EVERY TIME TERMINAL OPENS
*
Conforme explicado por mklement0 no Stack Overflow:
O que acabou sendo o problema do OP:
Um stray * em uma única linha em seu perfil é expandido para uma lista ordenada alfabeticamente dos nomes dos arquivos e pastas no diretório atual (um processo chamado expansão de nome de caminho ou globbing).
Não apenas um * como seu próprio comando (ou o início de um comando) não é útil, como pode resultar na execução indesejada de um comando (veja abaixo). Bash então tentou executar o resultado dessa expansão como um comando para executar, com a 1ª palavra (token separado por espaço em branco) interpretada como o nome do comando.
Isso falhou, porque essa primeira palavra não foi um nome de comando. No entanto, se a primeira palavra fosse um nome de comando válido, como arquivo, esse comando seria executado. (A menos que o diretório atual esteja no $ PATH, não importa se o primeiro nome de arquivo correspondente é um arquivo executável ou não - tudo o que importa é se o nome corresponde a um nome de comando existente). Na inicialização, o diretório inicial do usuário. era o diretor de trabalho; Por outro lado, abrir outra guia mais tarde usa o diretório de trabalho atual, o que quer que seja.
Isso explica os diferentes sintomas, já que globbing em diretórios diferentes resultará em listas de nomes diferentes, a respectiva primeira palavra que o Bash tentará executar.