Jump to content
Kazoo

.bash_profile, zmienne i aliasy

Recommended Posts

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

Share this post


Link to post
Share on other sites

Aliasy powinny być umieszczane w .bashrc

Poza tym, dobrze by było gdybyś podał jakie polecenia wprowadzasz i jakie wyniki otrzymujesz, to by ułatwiło odpowiedzi.

Jeżeli znasz Angielski to może pomoże Ci ta książka o Bashu z tej strony.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Szalenie Wam dziękuję. Jestem zachwycony Waszą pomocą. @sunrise dziękuję Ci, że poświęciłeś czas by nagrać dla mnie filmik. Mocno mi pomógł.

Pozdrawiam

Adam

  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...