Když spustím export $PATH
v bash, zobrazí se chyba not a valid identifier
. Proč?
Komentáře
odpověď
Spuštění export $PATH
se pokusí exportovat proměnnou s názvem rovným hodnotě z $PATH
(po rozdělení slov ). To znamená, že to odpovídá psaní něčeho jako export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. A protože /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
není platný název proměnné, selže. To, co chcete udělat, je export PATH
.
export
(ekvivalent k declare -x
) v Bash jednoduše zpřístupní proměnnou podsloupce.
Chcete-li bezpečně a čitelně vytisknout hodnotu proměnné, použijte printf %q "$PATH"
.
Komentáře
- V podstatě jsem vytvořil nějaké proměnné, JAVA_HOME, MAVEN_HOME a chci se ujistit, že je bash správně nastavil, takže exportuji $ PATH, abych zjistil, zda byly proměnné cesty správně nastaveny na proměnnou PATH
- Toto je závislé na prostředí, nikoli na OS. Byl bych překvapen, kdyby
export
někdy fungoval takhle v Bash. - Navíc proměnná PATH je již exportováno a není třeba být znovu exportovány.
Odpovědět
Následující příkaz export $PATH=somePath
vrátí not a valid identifier
a to kvůli $
před proměnnou PATH
.
řešení:
export PATH=somePath
Komentáře
- To je to, co přesně odpovídá na můj dotaz. Díky Kevinovi
Odpověď
Měli byste to použít takto:
export PATH=$PATH:/something/bin
Místo:
export $PATH=$PATH:/something/bin
stačí odstranit znak $
zleva ruka.
Odpověď
Pravděpodobně jste museli přidat $ PATH ke své stávající proměnné PATH?
export PATH=$PATH:/something/bin
Komentáře
- Dobře, toto je ve stejném parku s míčem, ale v levém poli .
$
„hodnota“. ' exportujete proměnnouPATH
, která nepřistupuje k její hodnotě, takže ' sexport PATH
bez$
.