Я пытаюсь настроить cocos2dx в Ubuntu 14.04 LTS, но после установки переменных окружения (в .bashrc) я начинаю получать эту ошибку:
bash: export: dev/cocos2d-x-3.2/tools/cocos2d-console/bin': not a valid identifier
bash: export:/home/john/android': not a valid identifier
bash: export: dev/android-ndk-r10b': not a valid identifier
bash: export:dev/adt-bundle-linux-x86_64-20140702/sdk': not a valid identifier
И я не знаю, что сделать это.
Похоже, вы не сделали этого правильно.
Ошибки, которые вы получаете, означают, что пути (например, /home/john/android) являются которые используются как имена переменных, а не как значения, назначенные им.
Правильный синтаксис для назначения переменной - NAME=value. Правильный синтаксис для экспорта переменной (с любым значением, если оно уже было назначено) - export NAME. Правильный синтаксис для назначения и экспорта переменной (с назначенным значением) одновременно export NAME=value.Я подозреваю, что вы пытаетесь сделать третью вещь, но используя неправильный синтаксис. Четыре распространенных ошибки, которые могут вызвать ошибки, например, то, что вы видите:
Использование пробелов вместо =. export NAME value неверно; value затем интерпретируется как имя последующей переменной для экспорта. (Это происходит потому, что export NAME1 NAME2 является правильным синтаксисом для экспорта нескольких переменных.) Помещение пробелов вокруг =. Во многих языках программирования, как правило, так и стилистически предпочтительнее использовать операторы с пробелами большую часть времени. Но чтобы присвоить значение переменной в сценарии оболочки (или в другой ситуации, когда вы выдаете команды оболочки), это недопустимо. NAME = value (в команде export или иначе) не будет работать; вы должны использовать NAME=value. (export NAME = value пытается экспортировать переменные с именем NAME, = и value. К счастью, это никогда не кажется успешным, поскольку попытка экспортировать переменную с именем = является синтаксической ошибкой. Напротив, export NAME= value , но не присваивает value NAME - вместо этого он присваивает пустую строку нулевой длины NAME и экспортирует ее, а отдельно экспортирует переменную value. Оба являются распространенными ошибками. ) Разделение частей значения переменной пробелами. Переменные среды могут содержать пробелы, но на практике они редко используются в качестве разделителей полей в переменных среды. Если одна переменная намеренно содержит несколько путей, обычно : используется для их разделения. Не цитирование пробелов при присваивании переменных. Иногда значение переменной среды должно содержать пробел. Например, это может быть имя каталога, в котором действительно содержится пробел. В этом случае необходимо процитировать любые пробелы. Один из способов сделать это - предшествовать им \. См. Как защитить круглые скобки, переданные команде cd? и Невозможно удалить файл для информации по другим путям - применяются методы, представленные в ответах, хотя ни один вопрос не связан с назначением переменных среды. Например, несколько способов экспортировать переменную среды SILLYPATH со значением /home/ek/silly name/bin:export SILLYPATH=/home/ek/silly\ name/bin
export SILLYPATH='/home/ek/silly name/bin'
export SILLYPATH="/home/ek/silly name/bin"
Часто, когда папка, которую вы должны использовать в оболочке или назначать широко используемой среде переменная содержит пробел, это может быть полезно при переименовании. (Но иногда это непрактично или нежелательно.) Я подозреваю, что это может быть достаточной информацией для вас, чтобы найти и исправить ошибку в вашем файле .bashrc. Если вам нужна дополнительная помощь, вы должны, конечно, разместить полное содержимое этого файла для анализа. (Только по совпадению ваша проблема оказалась достаточно часто встреченной и с достаточно прозрачным сообщением об ошибке, чтобы сделать общий ответ таким, как этот.)
Убедитесь, что вы работаете:
export ENV_VARIABLE
Вместо:
export $ENV_VARIABLE
В противном случае вы пытаетесь экспортировать значение переменной, а не переменную сам, поэтому вы получите эту ошибку.
Исключить пробелы и знак доллара. Например, это работает точно так же, как вы можете установить модуль настроек django на веб-сервере через SSH, то есть:
export DJANGO_SETTINGS_MODULE=myapp.settings
Похоже, вы не сделали этого правильно.
Ошибки, которые вы получаете, означают, что пути (например, /home/john/android) являются которые используются как имена переменных, а не как значения, назначенные им.
Правильный синтаксис для назначения переменной - NAME=value. Правильный синтаксис для экспорта переменной (с любым значением, если оно уже было назначено) - export NAME. Правильный синтаксис для назначения и экспорта переменной (с назначенным значением) одновременно export NAME=value.Я подозреваю, что вы пытаетесь сделать третью вещь, но используя неправильный синтаксис. Четыре распространенных ошибки, которые могут вызвать ошибки, например, то, что вы видите:
Использование пробелов вместо =. export NAME value неверно; value затем интерпретируется как имя последующей переменной для экспорта. (Это происходит потому, что export NAME1 NAME2 является правильным синтаксисом для экспорта нескольких переменных.) Помещение пробелов вокруг =. Во многих языках программирования, как правило, так и стилистически предпочтительнее использовать операторы с пробелами большую часть времени. Но чтобы присвоить значение переменной в сценарии оболочки (или в другой ситуации, когда вы выдаете команды оболочки), это недопустимо. NAME = value (в команде export или иначе) не будет работать; вы должны использовать NAME=value. (export NAME = value пытается экспортировать переменные с именем NAME, = и value. К счастью, это никогда не кажется успешным, поскольку попытка экспортировать переменную с именем = является синтаксической ошибкой. Напротив, export NAME= value , но не присваивает value NAME - вместо этого он присваивает пустую строку нулевой длины NAME и экспортирует ее, а отдельно экспортирует переменную value. Оба являются распространенными ошибками. ) Разделение частей значения переменной пробелами. Переменные среды могут содержать пробелы, но на практике они редко используются в качестве разделителей полей в переменных среды. Если одна переменная намеренно содержит несколько путей, обычно : используется для их разделения. Не цитирование пробелов при присваивании переменных. Иногда значение переменной среды должно содержать пробел. Например, это может быть имя каталога, в котором действительно содержится пробел. В этом случае необходимо процитировать любые пробелы. Один из способов сделать это - предшествовать им \. См. Как защитить круглые скобки, переданные команде cd? и Невозможно удалить файл для информации по другим путям - применяются методы, представленные в ответах, хотя ни один вопрос не связан с назначением переменных среды. Например, несколько способов экспортировать переменную среды SILLYPATH со значением /home/ek/silly name/bin:export SILLYPATH=/home/ek/silly\ name/bin
export SILLYPATH='/home/ek/silly name/bin'
export SILLYPATH="/home/ek/silly name/bin"
Часто, когда папка, которую вы должны использовать в оболочке или назначать широко используемой среде переменная содержит пробел, это может пригодиться при переименовании. (Но иногда это непрактично или нежелательно.) Я подозреваю, что это может быть достаточной информацией для вас, чтобы найти и исправить ошибку в вашем файле .bashrc. Если вам нужна дополнительная помощь, вы должны, конечно, разместить полное содержимое этого файла для анализа. (Только по совпадению ваша проблема оказалась достаточно часто встреченной и с достаточно прозрачным сообщением об ошибке, чтобы сделать общий ответ таким, как этот.)
Убедитесь, что вы работаете:
export ENV_VARIABLE
Вместо:
export $ENV_VARIABLE
В противном случае вы пытаетесь экспортировать значение переменной, а не переменную сам, поэтому вы получите эту ошибку.
Исключить пробелы и знак доллара. Например, это работает точно так же, как вы можете установить модуль настроек django на веб-сервере через SSH, то есть:
export DJANGO_SETTINGS_MODULE=myapp.settings