Каждый раз, когда я открываю терминал, он говорит:
bash: =: No such file or directory
Что может вызвать это?
Проблема заключалась в том, что я отредактировал свой файл `.bashrc и добавил переменную источника:
source = /etc/environment
Назначение переменной в bash должно быть без пробелов. Редактирование это:
source=/etc/environment
решил проблему
Ошибка, которую вы видите, имеет две основные причины существования.
Между именем переменной и назначением переменной есть пробелы. Правильный синтаксис должен иметь variable="some value"
Ваша переменная называется source
. source
на самом деле является встроенной в оболочку командой . Именно из-за пробела между source
и =
первое слово в строке считалось командой оболочки.
$ 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