Når jeg kjører export $PATH i bash, får jeg feilen not a valid identifier. Hvorfor?

Kommentarer

  • I bash og andre skjell er $ «value of». Du ' eksporterer variabelen PATH, og får ikke tilgang til verdien, så den ' s export PATH uten $.
  • Et mer vanlig lignende problem: askubuntu.com/questions/529919/ …

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 .

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *