„Niepoprawny identyfikator”, gdy „eksportuję $ PATH”


Odpowiedzi:


40

Uruchamianie export $PATHpostara się wyeksportować zmienną o nazwie równej wartości z $PATH(po podziałem na słowa ). Oznacza to, że jest to odpowiednik pisania czegoś takiego export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. A ponieważ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binnie jest prawidłową nazwą zmiennej, zawodzi. Co chcesz zrobić export PATH.

export(odpowiednik declare -x) w Bash po prostu udostępnia zmienną dla podpowłoki.

Aby wydrukować wartość zmiennej bezpiecznie i czytelnie, użyj printf %q "$PATH".


Zasadniczo stworzyłem niektóre zmienne, JAVA_HOME, MAVEN_HOME i chcę się upewnić, że bash poprawnie je ustawił, więc eksportuję $ PATH, aby zobaczyć, czy zmienne ścieżki zostały poprawnie ustawione na zmienną PATH
ThaSaleni

1
Jest to zależne od powłoki, a nie od systemu operacyjnego. Byłbym zaskoczony, gdyby exportkiedykolwiek tak pracował w Bash.
l0b0

Dodatkowo zmienna PATH jest już wyeksportowana i nie trzeba jej eksportować ponownie.
Kusalananda

19

Następujące polecenie export $PATH=somePathpowróci, not a valid identifiera to z powodu $poprzedniej PATHzmiennej.

rozwiązanie:

export PATH=somePath


0

Powinieneś użyć go w ten sposób:

export PATH=$PATH:/something/bin

Zamiast:

export $PATH=$PATH:/something/bin

po prostu usuń $znak z lewej strony.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.