Ich versuche cocos2dx in Ubuntu 14.04 LTS einzurichten, aber nach dem Setzen der Umgebungsvariablen (in .bashrc
) bekomme ich diesen Fehler:
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
Und ich weiß nicht, was ich tun soll, um das Problem zu beheben.
Antworten:
Es sieht so aus, als hättest du das nicht richtig gemacht.
Die Fehler, die Sie erhalten, bedeuten, dass die Pfade (wie
/home/john/android
) als Namen der Variablen und nicht als die ihnen zugewiesenen Werte verwendet werden.NAME=value
.export NAME
.export NAME=value
.Ich vermute, Sie versuchen das Dritte, aber mit falscher Syntax. Fünf häufige Fehler, die zu Fehlern führen können, wie Sie sie sehen, sind:
Leerzeichen statt
=
.export NAME value
ist falsch;value
wird dann als Name einer nachfolgenden zu exportierenden Variablen interpretiert.(Dies geschieht , weil
export NAME1 NAME2
ist die korrekte Syntax mehrere Variablen für den Export.)Leerzeichen setzen
=
. In vielen Programmiersprachen ist es sowohl gültig als auch stilistisch bevorzugt, Operatoren die meiste Zeit mit Leerzeichen zu füllen. Das Zuweisen eines Werts zu einer Variablen in einem Shell-Skript (oder einer anderen Situation, in der Sie Shell-Befehle ausgeben) ist jedoch nicht zulässig.NAME = value
(in einemexport
Befehl oder auf andere Weise) wird nicht funktionieren; Sie müssen verwendenNAME=value
.(
export NAME = value
Versucht zu exportieren Variablen mit dem NamenNAME
,=
undvalue
. Zum Glück scheint dies nie still um erfolgreich zu sein , weil Sie versuchen , eine Variable zu exportieren genannt=
ist ein Syntaxfehler. Im Gegensatzexport NAME= value
wird zur Arbeit erscheinen, aber nicht assign --instead es die leeren zuzuweist, Zeichenfolge mit der Länge 0 exportiert und exportiert die Variable separat . Beides sind häufige Fehler.)value
NAME
NAME
value
Trennen von Teilen des Variablenwerts durch Leerzeichen. Umgebungsvariablen können Leerzeichen enthalten, werden in der Praxis jedoch selten als Feldtrennzeichen in Umgebungsvariablen verwendet. Wenn eine einzelne Variable absichtlich mehrere Pfade enthält, werden sie normalerweise
:
zum Trennen verwendet.Leerzeichen werden bei der Zuweisung zu Variablen nicht in Anführungszeichen gesetzt. Manchmal soll der Wert einer Umgebungsvariablen ein Leerzeichen enthalten. Dies kann beispielsweise der Name eines Verzeichnisses sein, das wirklich ein Leerzeichen enthält. In diesem Fall müssen Leerzeichen angegeben werden.
Eine Möglichkeit, dies zu tun, besteht darin, ihnen vorauszugehen
\
. Siehe Wie kann ich Klammern schützen, die an einen cd-Befehl übergeben werden? und Datei kann nicht gelöscht werden, um Informationen auf andere Weise zu erhalten - die in den Antworten angegebenen Methoden gelten, obwohl sich keine der beiden Fragen speziell mit der Zuweisung zu Umgebungsvariablen befasst.Es gibt zum Beispiel einige Möglichkeiten, die Umgebungsvariable
SILLYPATH
mit dem Wert zu exportieren/home/ek/silly name/bin
:Wenn ein Ordner, den Sie in einer Shell verwenden oder einer häufig verwendeten Umgebungsvariablen zuweisen müssen, ein Leerzeichen enthält, kann es häufig von Vorteil sein, ihn umzubenennen. (Aber manchmal ist das unpraktisch oder unerwünscht.)
Zuweisen und / oder Exportieren einer Variablen, wenn überhaupt nichts zu tun war. Dies ist eine Art Metafehler. Das spezifische technische Problem ist oft eines der oben genannten, aber die Lösung besteht darin, die störende Leitung oder einen Teil davon loszuwerden, anstatt sie zu beheben.
.bashrc
Natürlich nicht wahllos Code entfernen . Aber eineexport
wurde möglicherweise versehentlich hinzugefügt oder versehentlich mehr Code in ihm haben , als beabsichtigt war. Angenommen, Sie wollten schreiben:Das würde anhängen
.bashrc
und dann neu beschaffen. Angenommen, Sie haben stattdessen geschrieben:Dann würde Ihr
export
Befehl nicht nur einen erweiterten Wert von exportierenPATH
, sondern auch versuchen, die Variablen mit den Namen.
und zu exportieren. Dies ist nicht das, was Sie möchten. Da diese Zeichen enthalten, die in Variablennamen nicht zulässig sind, erhalten Sie jedes Mal eine Fehlermeldung, wenn Sie eine neue interaktive Bash-Shell starten./home/your-username/.bashrc
Um dieses Problem zu vermeiden, schlage ich vor , die Bearbeitung
.bashrc
in einem Editor (zBnano ~/.bashrc
,gedit ~/.bashrc
) als Ausgabe an das Ende davon Umleitung mit>>
.Ich vermute, dies sind genug Informationen, um den Fehler in Ihrer
.bashrc
Datei zu finden und zu beheben . Wenn Sie weitere Hilfe benötigen, sollten Sie natürlich den vollständigen Inhalt dieser Datei zur Analyse bereitstellen. (Es ist nur ein Zufall, dass Ihr Problem häufig und mit einer ausreichend transparenten Fehlermeldung auftritt, um eine allgemeine Antwort wie diese zu ermöglichen.)quelle
Stellen Sie sicher, dass Sie ausgeführt werden:
Eher, als:
Andernfalls versuchen Sie, den Wert der Variablen anstelle der Variablen selbst zu exportieren, sodass dieser Fehler angezeigt wird.
quelle
Beseitigen Sie Leerzeichen und das Dollarzeichen. Dies funktioniert zum Beispiel genauso, wie Sie ein Django-Einstellungsmodul auf einem Webserver über SSH einrichten können, dh:
quelle
Ich habe gesehen, dass dies ziemlich häufig auftritt, wenn Sie etwas mit Anführungszeichen (aus dem Internet) kopieren und Ihre Umgebungen oder Ihre bashrc-Datei aktualisieren.
Ein guter Anfang wäre, die Anführungszeichen einfach manuell in den eingefügten Inhalt einzugeben.
quelle