bash: =: Нет такого файла или каталога .bashrc

Я использовал плагин для оформления окон, чтобы восстановить границы окна и свернуть / увеличить / закрыть кнопки.

4
задан 19 November 2017 в 04:09

4 ответа

Ошибка, которую вы видите, имеет две основные причины существования.

У вас есть пробелы между именем переменной и присваиванием переменной. Правильный ситакс должен иметь 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
3
ответ дан 18 July 2018 в 03:06

Проблема заключалась в том, что я редактировал файл `.bashrc и добавлял исходную переменную:

source = /etc/environment

Назначение переменной в bash должно быть без пробелов. Редактирование:

source=/etc/environment

решило проблему

5
ответ дан 18 July 2018 в 03:06

Ошибка, которую вы видите, имеет две основные причины существования.

У вас есть пробелы между именем переменной и присваиванием переменной. Правильный ситакс должен иметь 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
3
ответ дан 24 July 2018 в 17:45

Проблема заключалась в том, что я редактировал файл `.bashrc и добавлял исходную переменную:

source = /etc/environment

Назначение переменной в bash должно быть без пробелов. Редактирование:

source=/etc/environment

решило проблему

5
ответ дан 24 July 2018 в 17:45
  • 1
    Через два дня вы можете принять это как ответ, так что это Q & amp; A не задерживается, как без ответа. – Videonauth 18 November 2017 в 22:17
  • 2
    Мне любопытно, почему вы хотели назначить эту переменную, потому что иногда мы хотим source /etc/environment ... Если вам хочется объяснить, пожалуйста, сделайте это. В любом случае, хорошо сделанный для решения вашей проблемы – Zanna 18 November 2017 в 22:22

Другие вопросы по тегам:

Похожие вопросы: