Når jeg kører export $PATH
i bash, får jeg fejlen not a valid identifier
. Hvorfor?
Kommentarer
Svar
Kørsel export $PATH
forsøger at eksportere en variabel med et navn svarende til -værdien af $PATH
(efter opdeling af ord ). Det svarer til at skrive noget som export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. Og da /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ikke er et gyldigt variabelnavn, mislykkes det. Hvad du vil gøre er export PATH
.
export
(svarende til declare -x
) i Bash gør variablen simpelthen tilgængelig for subshells.
Brug printf %q "$PATH"
til at udskrive værdien af en variabel sikkert og læsbart.
Kommentarer
- Grundlæggende har jeg oprettet nogle variabler, JAVA_HOME, MAVEN_HOME og vil sikre mig, at bash har indstillet dem korrekt, så jeg eksporterer $ PATH for at se, om stivariablerne er korrekt indstillet til PATH-variablen
- Dette er shell-afhængigt, ikke OS-afhængigt. Jeg ville blive overrasket, hvis
export
nogensinde fungerede sådan i Bash. - Derudover var PATH-variablen er allerede eksporteret og behøver ikke eksporteres igen.
Svar
Følgende kommando export $PATH=somePath
returnerer not a valid identifier
og det er på grund af $
før PATH
variablen.
løsning:
export PATH=somePath
Kommentarer
- At er, hvad der præcist svarer på min forespørgsel. Tak Kevin
Svar
Du skal bruge det på denne måde:
export PATH=$PATH:/something/bin
I stedet for:
export $PATH=$PATH:/something/bin
skal du bare fjerne $
-tegnet fra venstre håndsiden.
Svar
Har du sandsynligvis haft behov for at tilføje en $ PATH til din eksisterende PATH-variabel?
export PATH=$PATH:/something/bin
Kommentarer
- OK, dette er i samme boldpark som spørgsmålet, men det er ude i venstre felt .
$
“værdi af”. Du ' eksporterer variablenPATH
uden adgang til dens værdi, så den ' sexport PATH
uden$
.