Esse erro significa que você tem um escape #
(isso significa \#
) em um dos arquivos de inicialização do bash. Como ele não parece estar em ~/.bashrc
ou ~/.bash_profile
, ele precisa estar em um dos outros arquivos que o bash lê quando é carregado. Para ter certeza, basta pesquisar em todos eles 1 :
grep -FH '\#' ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
~/.bash_aliases /etc/bash.bashrc /etc/profile \
/etc/profile.d/* /etc/environment 2>/dev/null
Isso deve mostrar que um dos arquivos listados acima contém \#
. Edite o arquivo, remova-o e tudo deve funcionar.
Se o comando não retornar nenhuma saída, isso significa que um desses arquivos está obtendo outro arquivo — não-padrão — e esse é o arquivo que apresenta o erro. Se este for o caso, edite sua pergunta e adicione a saída deste comando:
grep -P '(^|\s+)(\.|source) .' ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
~/.bash_aliases /etc/bash.bashrc /etc/profile \
/etc/profile.d/* /etc/environment 2>/dev/null
Isso deve imprimir todas as instâncias de fornecimento de outro arquivo e deve nos apontar na direção certa.
Mais geralmente, #
não é um comando, é um comentário. Qualquer coisa depois é simplesmente ignorada por bash
. Então, quando você executa pacman -Ss #
, na verdade você está executando pacman -Ss
sozinho e é por isso que você obtém tantos resultados.
1 Alguns desses arquivos são irrelevantes aqui. Por exemplo, ~/.profile
é ignorado se ~/.bash_profile
existir e /etc/profile
não for lido quando você abrir um novo terminal, mas você também pode pesquisar por todos eles apenas no caso.