bash: =: Nenhum arquivo ou diretório .bashrc

4

Sempre que abro o terminal, diz:

bash: =: No such file or directory

O que causaria isso?

    
por Akma 17.11.2017 / 18:24

2 respostas

5

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

    
por Akma 18.11.2017 / 19:11
3

O erro que você vê tem dois motivos principais para a existência.

  1. Você tem espaços entre o nome da variável e a atribuição de variáveis. A sintaxe correta é ter variable="some value"

  2. 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
    
por Sergiy Kolodyazhnyy 19.11.2017 / 00:52