Kun suoritan export $PATH
bashissa, saan virheen not a valid identifier
. Miksi?
Kommentit
vastaus
Käynnissä export $PATH
yritetään viedä muuttuja, jonka nimi on sama kuin arvo / $PATH
(sanan jakamisen jälkeen ). Toisin sanoen se vastaa kirjoittamista esimerkiksi export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. Ja koska /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ei ole kelvollinen muuttujan nimi, se epäonnistuu. Mitä haluat tehdä, on export PATH
.
export
(vastaa declare -x
) Bashissa tekee muuttujan yksinkertaisesti saataville alikuoret.
Tulosta muuttujan arvo turvallisesti ja luettavasti käyttämällä printf %q "$PATH"
.
Kommentit
- Olen pohjimmiltaan luonut joitain muuttujia JAVA_HOME, MAVEN_HOME ja haluan varmistaa, että bash on asettanut ne oikein, joten viennin $ PATH nähdäksesi onko polun muuttujat asetettu oikein PATH-muuttujaan
- Tämä riippuu kuoresta, ei käyttöjärjestelmästä. Olisin yllättynyt, jos
export
toimisi joskus tällä tavalla Bashissa. - Lisäksi PATH-muuttuja on jo viety eikä sitä tarvitse viedä uudelleen.
Vastaa
Seuraava komento export $PATH=somePath
palauttaa not a valid identifier
ja se johtuu $
-muuttujan PATH
edestä.
ratkaisu:
export PATH=somePath
Kommentit
- Se on mikä vastaa kyselyni tarkalleen. Kiitos Kevin
Vastaa
Käytä sitä tällä tavalla:
export PATH=$PATH:/something/bin
Sen sijaan, että:
export $PATH=$PATH:/something/bin
poista vain merkki $
vasemmalta käden puolella.
Vastaus
Onko sinulla todennäköisesti tarvetta lisätä $ PATH nykyiseen PATH-muuttujaasi?
export PATH=$PATH:/something/bin
Kommentit
- OK, tämä on samassa pallopuistossa kuin kysymys, mutta se on vasemmalla kentällä .
$
on ”arvo”. ' viet muuttujanPATH
uudelleen, et pääse sen arvoon, joten se ' sexport PATH
ilman$
.