"Kein gültiger Bezeichner", wenn ich "$ PATH" exportiere


Antworten:


40

Beim Ausführen export $PATHwird versucht, eine Variable mit einem Namen zu exportieren, der dem Wert von $PATH(nach der Wortteilung ) entspricht. Das heißt, es ist gleichbedeutend mit dem Schreiben von etwas 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:/bines sich nicht um einen gültigen Variablennamen handelt, schlägt dies fehl. Was Sie tun möchten, ist export PATH.

export(entspricht declare -x) in Bash stellt die Variable einfach Subshells zur Verfügung.

Verwenden Sie, um den Wert einer Variablen sicher und lesbar auszudrucken printf %q "$PATH".


Grundsätzlich habe ich einige Variablen, JAVA_HOME, MAVEN_HOME, erstellt und möchte sicherstellen, dass die Bash sie richtig gesetzt hat, also exportiere ich $ PATH, um zu sehen, ob die
Pfadvariablen

1
Dies ist abhängig von der Shell und nicht vom Betriebssystem. Es würde mich wundern, wenn ich exportjemals in Bash so arbeiten würde.
l0b0

Darüber hinaus ist die PATH-Variable bereits exportiert und muss nicht erneut exportiert werden.
Kusalananda

19

Der folgende Befehl export $PATH=somePathwird zurückgegeben not a valid identifierund das liegt an $der PATHVariable davor .

Lösung:

export PATH=somePath


0

Du solltest es so benutzen:

export PATH=$PATH:/something/bin

Anstatt:

export $PATH=$PATH:/something/bin

Entferne einfach das $Schild von der linken Seite.


-1

Sie mussten wahrscheinlich einen $ PATH an Ihre vorhandene PATH-Variable anhängen?

export PATH=$PATH:/something/bin

2
OK, das ist im selben Stadion wie die Frage, aber es ist draußen im linken Feld.
G-Man sagt, dass Monica am
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.