Når jeg kjører export $PATH
i bash, får jeg feilen not a valid identifier
. Hvorfor?
Kommentarer
Svar
Kjører export $PATH
vil prøve å eksportere en variabel med et navn som er lik -verdien av $PATH
(etter ordoppdeling ). Det tilsvarer å skrive noe som export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. Og siden /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ikke er et gyldig variabelnavn, mislykkes det. Det du vil gjøre er export PATH
.
export
(tilsvarer declare -x
) i Bash gjør variabelen ganske enkelt tilgjengelig for subshells.
Bruk printf %q "$PATH"
for å skrive ut verdien til en variabel trygt og lesbart.
Kommentarer
- I utgangspunktet har jeg opprettet noen variabler, JAVA_HOME, MAVEN_HOME og vil forsikre meg om at bash har riktig satt dem, så jeg eksporterer $ PATH for å se om banevariablene er riktig satt til PATH-variabelen
- Dette er skallavhengig, ikke OS-avhengig. Jeg vil bli overrasket om
export
noen gang fungerte slik i Bash. - I tillegg PATH-variabelen er allerede eksportert og trenger ikke eksporteres igjen.
Svar
Følgende kommando export $PATH=somePath
vil returnere not a valid identifier
og det er på grunn av $
før PATH
-variabelen.
løsning:
export PATH=somePath
Kommentarer
- At er det som akkurat svarer på spørsmålet mitt. Takk Kevin
Svar
Du bør bruke det på denne måten:
export PATH=$PATH:/something/bin
I stedet for:
export $PATH=$PATH:/something/bin
fjern bare $
-tegnet fra venstre håndsiden.
Svar
Du hadde sannsynligvis behov for å legge til en $ PATH til din eksisterende PATH-variabel?
export PATH=$PATH:/something/bin
Kommentarer
- OK, dette er i samme ballpark som spørsmålet, men det er ute i venstre felt .
$
«value of». Du ' eksporterer variabelenPATH
, og får ikke tilgang til verdien, så den ' sexport PATH
uten$
.