Wenn ich export $PATH
in bash ausführe, erhalte ich den Fehler not a valid identifier
. Warum?
Kommentare
- In Bash- und anderen Shells ist
$
„Wert von“. Sie ' exportieren die VariablePATH
und greifen nicht auf ihren Wert zu, sodass ' sexport PATH
ohne$
. - Ein häufigeres ähnliches Problem: askubuntu.com/questions/529919/ …
Antwort
Wenn Sie export $PATH
ausführen, wird versucht, eine Variable mit einem Namen zu exportieren, der dem -Wert von $PATH
(nach Wortteilung ). Das heißt, es entspricht dem Schreiben von export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. Und da /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
kein gültiger Variablenname ist, schlägt dies fehl. Sie möchten export PATH
.
export
(entspricht declare -x
) in Bash stellt die Variable einfach zur Verfügung Unterschalen.
Um den Wert einer Variablen sicher und lesbar zu drucken, verwenden Sie printf %q "$PATH"
.
Kommentare
- Grundsätzlich habe ich einige Variablen erstellt, JAVA_HOME, MAVEN_HOME, und möchte sicherstellen, dass bash sie richtig gesetzt hat. Deshalb exportiere ich $ PATH, um zu sehen, ob die Pfadvariablen richtig auf die PATH-Variable gesetzt wurden
- Dies ist Shell-abhängig, nicht OS-abhängig. Ich wäre überrascht, wenn
export
jemals so in Bash funktioniert hätte. - Zusätzlich die PATH-Variable wird bereits exportiert und muss nicht erneut exportiert werden.
Antwort
Der folgende Befehl export $PATH=somePath
gibt not a valid identifier
zurück und das liegt an der $
vor der Variablen PATH
.
Lösung:
export PATH=somePath
Kommentare
- Das ist genau das, was meine Frage beantwortet. Danke Kevin
Antwort
Sie sollten es folgendermaßen verwenden:
export PATH=$PATH:/something/bin
Anstelle von:
export $PATH=$PATH:/something/bin
entfernen Sie einfach das Zeichen $
von links Handseite.
Antwort
Sie mussten wahrscheinlich einen $ PATH an Ihre vorhandene PATH-Variable anhängen?
export PATH=$PATH:/something/bin
Kommentare
- OK, dies befindet sich im selben Ballpark wie die Frage, befindet sich jedoch im linken Feld .