Amikor a export $PATH fájlt futtatom a bash-ban, a not a valid identifier. Miért?

Megjegyzések

  • A bash és más héjakban az $ az „értéke”. ' újra exportálja a PATH változót, az értékéhez nem fér hozzá, ezért ' s export PATH $ nélkül.
  • Gyakoribb hasonló probléma: askubuntu.com/questions/529919/ …

Válasz

A export $PATH futtatása megpróbál exportálni egy olyan változót, amelynek neve egyenlő a értékkel / $PATH (a szófelosztás után ). Vagyis egyenértékű azzal, hogy export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -t írunk. És mivel az /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin nem érvényes változónév, meghiúsul. id = “329e208277″>

Amit meg akar tenni, az export PATH.

export (egyenértékű a declare -x -vel) a Bash-ban, egyszerűen elérhetővé teszi a változót a alhéjak.

A változó értékének biztonságos és olvasható kinyomtatásához használja a printf %q "$PATH" parancsot.

Megjegyzések

  • Alapvetően létrehoztam néhány változót, a JAVA_HOME, a MAVEN_HOME, és szeretnék megbizonyosodni arról, hogy a bash megfelelően beállította őket, ezért exportálom a $ PATH-t, hogy lássam, az útváltozók megfelelően vannak-e beállítva a PATH változóra li>
  • Ez héjfüggő, nem operációs rendszertől függ. Meglepődnék, ha a export valaha is így működne a Bash-ban.
  • Ezenkívül a PATH változó már exportálva van, és nincs rá szüksége újra exportálható.

Válasz

A következő parancs export $PATH=somePath vissza fog térni not a valid identifier, és ez a $ miatt van, a PATH változó előtt.

megoldás:

export PATH=somePath

Megjegyzések

  • Ez pontosan mi válaszol a lekérdezésemre. Köszönöm Kevin

Válasz

Ezt így kell használnia:

export PATH=$PATH:/something/bin 

Ahelyett, hogy:

export $PATH=$PATH:/something/bin 

csak távolítsa el a $ jelet balról kéz oldalán.

Válasz

Valószínűleg szükséged volt egy $ PATH hozzáfűzésére a meglévő PATH változóhoz?

export PATH=$PATH:/something/bin 

Megjegyzések

  • OK, ez ugyanabban a labda parkban van, mint a kérdés, de a bal mezőben van .

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük