bash:=:没有这样的文件或目录 .bashrc

bash:=:没有这样的文件或目录 .bashrc

每次我打开终端它都会说:

bash: =: No such file or directory

什么原因造成这种情况?

答案1

问题是我编辑了我的 .bashrc 文件并添加了一个源变量:

source = /etc/environment

bash 中的变量赋值必须不带空格。将其编辑为:

source=/etc/environment 

解决了问题

答案2

您看到的错误存在的主要原因有两个。

  1. 变量名和变量赋值之间有空格。正确的语法是variable="some value"

  2. 您的变量名为source.source实际上是shell 内置source命令。正是因为在和之间有空格,所以=shell 将该行中的第一个单词视为命令。

    $ bash -c 'source = "something"'
    bash: =: No such file or directory
    

    由于sourcebash内置命令,因此您会bash在错误中看到。例如,将其与另一个命令进行比较:

    $ bash -c 'stat = "something"'                                                                                                                                   
    stat: cannot stat '=': No such file or directory
    stat: cannot stat 'something': No such file or directory
    

    请注意,问题的核心是行被解释为带有给定位置参数的命令。这并不意味着变量名不正确,事实上您可以使用这些变量名(尽管我认为使用与现有命令名相似的变量名是一种不好的做法,但这只是我的观点):

    $ bash -c 'stat="something";echo "$stat"'
    something
    
    $ bash -c 'source="something";echo "$source"'                                                                                                                       
    something
    

相关内容