每次我打开终端它都会说:
bash: =: No such file or directory
什么原因造成这种情况?
答案1
问题是我编辑了我的 .bashrc 文件并添加了一个源变量:
source = /etc/environment
bash 中的变量赋值必须不带空格。将其编辑为:
source=/etc/environment
解决了问题
答案2
您看到的错误存在的主要原因有两个。
变量名和变量赋值之间有空格。正确的语法是
variable="some value"
您的变量名为
source
.source
实际上是shell 内置source
命令。正是因为在和之间有空格,所以=
shell 将该行中的第一个单词视为命令。$ bash -c 'source = "something"' bash: =: No such file or directory
由于
source
是bash
内置命令,因此您会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