Când rulez export $PATH în bash, primesc eroarea not a valid identifier. De ce?

Comentarii

  • În bash și alte cochilii, $ este „valoarea”. ' reexportați variabila PATH, fără a accesa valoarea acesteia, deci ' s export PATH fără $.
  • O problemă similară mai frecventă: askubuntu.com/questions/529919/ …

Răspuns

Rularea export $PATH va încerca să exporte o variabilă cu un nume egal cu valoarea din $PATH (după divizarea cuvântului ). Adică, este „echivalent cu a scrie ceva de genul export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. Și din moment ce /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin nu este un nume de variabilă valid, nu reușește. Ceea ce vrei să faci este export PATH.

export (echivalent cu declare -x) în Bash pur și simplu pune variabila la dispoziția sub-coajă.

Pentru a imprima valoarea unei variabile în condiții de siguranță și ușor, utilizați printf %q "$PATH".

Comentarii

  • Practic am creat câteva variabile, JAVA_HOME, MAVEN_HOME și vreau să mă asigur că bash le-a setat corect, așa că export $ PATH pentru a vedea dacă variabilele de cale au fost setate corect la variabila PATH
  • Acesta este dependent de shell, nu de OS. Aș fi surprins dacă export ar funcționa vreodată așa în Bash.
  • În plus, variabila PATH este deja exportat și nu trebuie să fie exportat din nou.

Răspuns

Următoarea comandă export $PATH=somePath va returna not a valid identifier și asta din cauza $ înainte de variabila PATH.

soluție:

export PATH=somePath

Comentarii

  • Că exact ceea ce răspunde la întrebarea mea. Mulțumesc Kevin

Răspuns

Ar trebui să-l folosești astfel:

export PATH=$PATH:/something/bin 

În loc de:

export $PATH=$PATH:/something/bin 

trebuie doar să eliminați semnul $ din stânga partea de mână.

Răspuns

Probabil ați avut nevoie să adăugați un $ PATH variabilei PATH existente?

export PATH=$PATH:/something/bin 

Comentarii

  • OK, acesta se află în același parc cu mingi ca la întrebare, dar este în câmpul stâng .

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *