När jag kör export $PATH i bash får jag felet not a valid identifier. Varför?

Kommentarer

  • I bash och andra skal är $ ”value of”. Du ' exporterar variabeln PATH utan åtkomst till dess värde, så den ' s export PATH utan $.
  • En vanligare liknande fråga: askubuntu.com/questions/529919/ …

Svar

Att köra export $PATH försöker exportera en variabel med ett namn som är lika med -värdet av $PATH (efter orduppdelning ). Det motsvarar att skriva något som export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. Och eftersom /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin inte är ett giltigt variabelnamn, misslyckas det. Vad du vill göra är export PATH.

export (motsvarande declare -x) i Bash gör helt enkelt variabeln tillgänglig för subshells.

Använd printf %q "$PATH" för att skriva ut värdet på en variabel på ett säkert och lättläst sätt.

Kommentarer

  • I grund och botten har jag skapat några variabler, JAVA_HOME, MAVEN_HOME och vill se till att bash har ställt in dem korrekt, så jag exporterar $ PATH för att se om sökvariablerna är korrekt inställda på PATH-variabeln
  • Detta är skalberoende, inte OS-beroende. Jag skulle bli förvånad om export någonsin fungerade så i Bash.
  • Dessutom PATH-variabeln är redan exporterad och behöver inte exporteras igen.

Svar

Följande kommando export $PATH=somePath returnerar not a valid identifier och det beror på $ före PATH variabel.

lösning:

export PATH=somePath

Kommentarer

  • Att är det som exakt svarar på min fråga. Tack Kevin

Svar

Du borde använda det så här:

export PATH=$PATH:/something/bin 

I stället för:

export $PATH=$PATH:/something/bin 

tar du bara bort $ från vänster på sidan.

Svar

Har du förmodligen behövt lägga till en $ PATH till din befintliga PATH-variabel?

export PATH=$PATH:/something/bin 

Kommentarer

  • OK, det här är i samma bollpark som frågan, men det är ute i vänstra fältet .

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *