Când rulez export $PATH
în bash, primesc eroarea not a valid identifier
. De ce?
Comentarii
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 .
$
este „valoarea”. ' reexportați variabilaPATH
, fără a accesa valoarea acesteia, deci ' sexport PATH
fără$
.