O problema foi que eu editei meu arquivo '.bashrc e adicionei uma variável de origem:
source = /etc/environment
A atribuição variável no bash deve ser sem espaços. Editando para:
source=/etc/environment
resolveu o problema
Sempre que abro o terminal, diz:
bash: =: No such file or directory
O que causaria isso?
O problema foi que eu editei meu arquivo '.bashrc e adicionei uma variável de origem:
source = /etc/environment
A atribuição variável no bash deve ser sem espaços. Editando para:
source=/etc/environment
resolveu o problema
O erro que você vê tem dois motivos principais para a existência.
Você tem espaços entre o nome da variável e a atribuição de variáveis. A sintaxe correta é ter variable="some value"
Sua variável é denominada source
. O source
é, na verdade, um comando embutido no shell . Exatamente porque você tinha espaço entre source
e =
, a primeira palavra na linha era considerada um comando pelo shell.
$ bash -c 'source = "something"'
bash: =: No such file or directory
Como o comando interno source
é bash
, você vê bash
mencionado no erro. Compare isso, por exemplo, com outro comando:
$ bash -c 'stat = "something"'
stat: cannot stat '=': No such file or directory
stat: cannot stat 'something': No such file or directory
Por favor, note que o núcleo da questão é que linha é interpretada como comando com parâmetros posicionais dados . Isso não significa que o nome da variável está incorreto e, de fato, você poderia usar esses nomes de variáveis (embora eu diga que é uma prática ruim usar nomes de variáveis semelhantes aos nomes de comandos existentes, mas essa é apenas minha opinião):
$ bash -c 'stat="something";echo "$stat"'
something
$ bash -c 'source="something";echo "$source"'
something
Tags command-line bash