Wpis z mikrobloga

Robię tak:
export PATH="$HOME/.local/bin:$PATH"
a i tak nie dodaje się jako globalna zmienna, wyłączę i włączę terminal i już zmienna się resetuje.
Wydawało mi się że to działało przez jakiś czas ale teraz nie działa.
Jak tego użyć?
#linux
  • 34
@look997: Ale piszesz takie polecenie czy masz to w konfigu? Bo jak po prostu piszesz, to jest to ustawiane dla bieżącego procesu i potomnych tylko - zgodnie z definicją zmiennej globalnej. Jak chcesz na stałe to wpisz do .bashrc albo .profile albo .bash_profile
@yarmooh: Wiem. Ale właśnie nie działa. Tak jak mówiłem: uruchamiam to w terminalu z "export" i potem włączam i wyłączam gnome-terminal i juz ta zmienna się resetuje. Działa jakby była tylko zmienną zupełnie lokalną.
@look997: export działa dla danego procesu i procesów potomnych. W linuksie/uniksie nie możesz zmienić nic "globalnie" w tym znaczeniu, bo gdzie miałoby to być zapisane? W tym systemie wszystko jest zapisane w jakimś pliku konfiguracyjnym, a pliki konfiguracyjne bardzo rzadko są aktualizowane automatycznie poprzez wydanie jakiegoś polecenia. Nie ma też czegoś takiego jak np. rejestr w Windows.
@mateusza: A czym różni się uruchomienie linijki
export PATH="$PATH:~/.local/bin"
Z pliku /etc/profile od tej samej linijki w terminalu? Ten sam system, ten sam kod.
Plik /etc/profile po protu uruchamia się przy starcie profilu i tworzy tą zmienną w pamięci podręcznej(?), i tak co logowanie.
@look997: dokładnie tak. Praktycznie WSZYSTKIE zmienne są tworzone przez jakiś skrypt z /etc/, który jest uruchamiany przy każdym uruchomieniu systemu/logowaniu/uruchomieniu terminala
@mateusza: Ale czemu polecenie odpalone z /etc tworzy zmienną globalną a z terminala nie? To samo polecenie, ten sam kontekst(?)?
W każdym razie jak dostać się do tego globalnego kontekstu z poziomu terminala?