Skocz do zawartości

.bash_profile, zmienne i aliasy


Kazoo

Rekomendowane odpowiedzi

Cześć.

Piszę do Was z prośbą o pomoc.

Postanowiłem na stare lata uczyć się Linuxa. Kompletnie nie znając środowiska, wykupiłem proste , podstawowe kursy, które przerabiam po kolei.

Natknąłem na pewien problem.

Na jednej z lekcji ww. kursu tworzyliśmy nowe aliasy i zmienne, które po wprowadzeniu do pliku .bash_profile powinny się odpalać.

Okazuje się, że owe aliasy nie "zapisują się" przy przelogowaniu.

korzystając z komendy echo $parament dostaje wynik pusty. Rozumiem, że moja główna sesja nie korzysta z pliku .bash_profile  ? 

A może korzysta z niego w innym miejscu ? 

Próbowałem wyeksportować zapisane ścieżki, aliasy lub paramenty ale nadal otrzymuję puste wyniki.

W jaki sposób rozgryźć ten temat  ? 

Z góry dziękuję i pozdrawiam.

Adam

Odnośnik do komentarza
Udostępnij na innych stronach

Ja tylko dodam, że o ile nie zamierzasz tworzyć jakiejś customowej i rozbudowanej konfiguracji to .bashrc jest najlepszym miejscem do trzymania zmiennych, aliasów i funkcji. Ale nic nie stoi na przeszkodzie, żeby trzymać je w dowolnym innym pliku – wystarczy w .bashrc dopisać odpowiednią funkcję ładującą ten plik, coś takiego:

if [ -f /ścieżka/do/pliku ]; then
    . /ścieżka/do/pliku
fi

No i nie ma potrzeby przelogowywania się po każdej zmianie (nie tylko w .bashrc, ale w dowolnym pliku), wystarczy zaimportować plik:

source ~/.bashrc

 

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm. 

W kursie, w którym pracujemy na Fedorze (znaczy my. Zwykły kurs z Udemy), prowadzący wprowadza zmiany w .bash_profile. Jeżeli zmiany wprowadza się w .bashrc to skąd ta różnica ? Czym jest .bash_profile  ?

Wiecie, póki co idę ślepo krok po kroku i gdy występują problemy, zaczynam coś dłubać.

Nie robię jakiś wysublimowanych aliasów. 

4 godziny temu, SeeM napisał:

Przykładowa linijka do .bashrc:


alias 'dir'='ls --group-directories-first -alhv'

Też jestem ciekawy jakie aliasy sobie tworzysz. Mam ich u siebie całkiem sporo.

Nie wrzucam nic ciekawego. Proste dwie linijki by nauczyć się jak to działa.

1 godzinę temu, tomcio napisał:

Ja tylko dodam, że o ile nie zamierzasz tworzyć jakiejś customowej i rozbudowanej konfiguracji to .bashrc jest najlepszym miejscem do trzymania zmiennych, aliasów i funkcji. Ale nic nie stoi na przeszkodzie, żeby trzymać je w dowolnym innym pliku – wystarczy w .bashrc dopisać odpowiednią funkcję ładującą ten plik, coś takiego:


if [ -f /ścieżka/do/pliku ]; then
    . /ścieżka/do/pliku
fi

No i nie ma potrzeby przelogowywania się po każdej zmianie (nie tylko w .bashrc, ale w dowolnym pliku), wystarczy zaimportować plik:


source ~/.bashrc

 

Zauważyłem, żę ta komenda również widnieje w .bash_profile jednak funkcje nie działają

Wrzucam Was screena z pliku.bash_profile edytowany pod vim.

 

Screenshot from 2021-06-22 16-32-07.png

Odnośnik do komentarza
Udostępnij na innych stronach

W skrócie  .bash_profile jest wczytywany tylko przy logowani .bashrc za każdym razem gdy wywoływany jest bash (więcej informacji).

Gdy dodasz coś do .bashrc (alias, zmienne czy cokolwiek innego) musisz go ponownie wczytaś , możesz to wykonać (jak wspomniał tomcio) za pomocą polecenia

source .bashrc

lub uruchomić nową powłokę wykonując po prostu polecenie bash.

Może taki filmik Ci pomoże zrozumieć o co chodzi.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...