Zmienne środowiskowe i aliasy w systemie Linux

Zmienne środowiskowe i aliasy w systemie Linux

Aby korzystać z dwóch wymienionych sposobów zapisywania i wykorzystywania ciągów znaków nie musimy instalować żadnego dodatkowego oprogramowania. Po instalacji systemu Linux otrzymujemy standardowo dostęp do powłoki Bash. Sam Bash jest językiem skryptowym. Nie jest tak rozbudowany jak języki typu C++, czy też Python, jednak dzięki niemu jesteśmy w stanie wiele podstawowych rzeczy wykonać. W rzeczywistości otwierając powłokę otrzymujemy już możliwość wykorzystywania tego języka. W tym materiale poznasz zmienne środowiskowe i aliasy w systemie Linux. Poznamy sposoby ich zapisu, jak i również praktycznego wykorzystania. W międzyczasie dowiesz się, czym różni się jedno od drugiego.

 

Sprawdź, czego nauczysz się dzięki kursowi Grafany!

Udostępniamy darmowo ponad godzinny materiał z kursu. Przekonaj się, że jest idealny dla Ciebie!

Chcesz wziąć udział w kursie? Kliknij w link i obejrzyj co Cię czeka: https://asdevops.pl/demo-grafana/

 

 

 

 

Zmienne środowiskowe w systemie Linux

W pierwszej części zajmiemy się zmiennymi. Jednak nim przejdziemy do części praktycznej, chciałbym wytłumaczyć czym one są. Jeżeli jesteś programistą, to ta część artykułu może znudzić. Jednak jeżeli jesteś użytkownikiem Linux, który nie programuje, a chce sobie ułatwić niektóre czynności, to poznanie tych dwóch zagadnień może okazać się bardzo pomocne.

Do zmiennych mamy możliwość przypisania różnych wartości. Następnie przy pomocy jednego słowa użyć ich jak na przykład polecenie. Wartości jakie przypisujemy możemy podzielić na dwie grupy. Pierwsza z nich są to wartości liczbowe. Myślę, że tutaj nie muszę nic tłumaczyć. Natomiast drugą wartością jest tekst inaczej nazywany ciągiem znaków.

Ciąg znaków jest to wartość tekstowa. Możesz się spotkać również z określeniem łańcucha znaków. Zarówno jedno, jak i drugie określenie jest prawidłowe, chociaż w swojej praktyce częściej spotykam się z pierwszą jej odmianą.

Wspomniany ciąg zarówno w programowaniu, jak i w wierszu poleceń musi być ujęty w cudzysłów. W taki sposób określamy, że to co wprowadziliśmy jest wartością tekstową.

Dlaczego tak? Ponieważ wartością tekstową może być również cyfra. Jednak musi być ona ujęta we wspomniany cudzysłów. Pokazując to na przykładzie wartość liczbowa to jak wiadomo jest:

1

Natomiast cyfra jako ciąg znaków musi być zapisana jako:

"1"

Pomimo, że wizualnie jest to to samo, jednak różnica jest ogromna. Na wartości liczbowej możemy wykonywać działania matematyczne, natomiast na ciągu znaków nie. Dlatego wniosek jest jeden. Jeżeli ujmiesz coś w cudzysłów będzie to traktowane jako tekst.

Korzystamy ze zmiennych

W celu przypisania jakiejś wartości do zmiennej wystarczy, że skorzystamy z prostego zapisu:

MojaZmienna="Wartość zmiennej"

Czyli wprowadzamy nazwę, która nie może zawierać spacji. Następnie po znaku równa się wprowadzasz wartość jaka ma być przez nią reprezentowana. Pamiętaj jednak, że pomiędzy tym co znajduje się po dwóch stronach znaku nie może wystąpić spacja. Spacji możesz używać tylko w cudzysłowiu. Jeżeli zapis do zmiennej chciałbyś wykonać w taki sposób:

MojaZmienna = "Wartość zmiennej"
bash: MojaZmienna: nie znaleziono polecenia

Otrzymasz informację zwrotną, że nie znaleziono polecenia. Choć zapis jest trochę bardziej czytelniejszy jednak w Bashu jest niedopuszczalny.

Aby wyświetlić wartość zapisaną w zmiennej musimy skonstruować polecenie w następujący sposób:

echo $MojaZmienna
Wartość zmiennej

Polecenie echo służy do wyświetlania zawartości zmiennej MojaZmienna. Jednak przy jej nazwie musi znaleźć się jeszcze znak dolara $. W ten sposób wywołania zmiennych są przyjęte w języku Bash. Jeżeli wpiszesz to polecenie bez znaku dolara, a przed nazwą zmiennej będzie znajdowało się polecenie echo, to jako wynik otrzymasz nazwę zmiennej.

Bardziej praktyczne wykorzystanie zmiennych środowiskowych

Podstawowe zasady już znasz, teraz zajmijmy się bardziej praktycznym wykorzystaniem tej wiedzy. Otóż stwórzmy zmienną w taki sposób:

wyswietl="ls -l"

Jeżeli wywołasz zmienną to i znajdujące się w niej polecenie.

$wyswietl
razem 828
drwxr-xr-x 2 darki darki   4096 08-18 07:22  mail
-rw-r--r-- 1 darki darki 181923 06-16 14:23 'Przechwycenie obrazu ekranu_2022-06-16_14-23-31.png'
-rw-r--r-- 1 darki darki 114517 06-16 17:20 'Przechwycenie obrazu ekranu_2022-06-16_17-20-54.png'
-rw-r--r-- 1 darki darki 151342 06-16 17:30 'Przechwycenie obrazu ekranu_2022-06-16_17-30-40.png'
-rw-r--r-- 1 darki darki  98199 06-16 21:20 'Przechwycenie obrazu ekranu_2022-06-16_21-20-08.png'
-rw-r--r-- 1 darki darki 209456 06-16 23:00 'Przechwycenie obrazu ekranu_2022-06-16_23-00-14.png'
-rw-r--r-- 1 darki darki  80617 06-17 10:56 'Przechwycenie obrazu ekranu_2022-06-17_10-55-59.png'  

Natomiast przyznam, że zmienne wykorzystuję szczególnie w sytuacji, gdy korzystam bardzo często z jakiegoś pliku do którego jest dość długa ścieżka. Wtedy umieszczam w niej:

script="python3 /home/darki/Dokumenty/Grupa\ ADM/Linux/Python/skrypt.py -s debian"

Jest to ścieżka do jednego z moich skryptów, gdy pisałem mini kurs o Pythonie. W trakcie jego pisania bardzo często korzystałem z tego pliku. W związku z tym stworzyłem zmienną tak jak w powyższym przykładzie. Dlatego niezależnie od miejsca, w którym znajdowałem się w konsoli wystarczyło wpisać nazwę użytej zmiennej i skrypt został uruchomiony.

Natomiast jeżeli chcesz dodać coś do zmiennej już istniejącej to należy wykonać to w następujący sposób:

MojaZmienna="${MojaZmienna} dodatkowy tekst"

Jeżeli dodałbyś sam tekst bez uwzględnienia zmiennej to to, co w niej się znajduje zostałoby zastąpione przez nową wartość.

W związku z całym prezentowanym materiałem chciałbym, byś zapamiętał, że:

  • istnieją wartości liczbowe i tekstowe których zapis różni się od siebie;
  • zmienne środowiskowe tworzymy bez używania spacji;
  • możemy zapisywać skomplikowane polecenia, następnie wywoływać po ich nazwie;

Na końcu dodam, że zmienne środowiskowe są automatycznie usuwane po zamknięciu konsoli. W związku z tym jeżeli chcesz ponownie z nich skorzystać musisz je stworzyć.

Aliasy w systemie Linux

Jak już wiesz zmienne po zamknięciu konsoli są automatycznie czyszczone. Ma to swój pozytywny i negatywny aspekt. Czasami możemy chcieć, aby taki zapis pozostał na stałe w systemie. Dokonać tego jesteśmy w stanie dzięki ustawieniu aliasu. Dodatkowo, tak jak w przypadku zmiennych jesteśmy w stanie stworzyć alias tymczasowy.

Alias tymczasowy

Wiele elementów związanych z samym sposobem zapisu wytłumaczyłem w części o zmiennych. W związku z tym wyjaśnienia czym jest ciąg znaków pominę.

Tak samo jak w przypadku zmiennych środowiskowych jesteśmy w stanie stworzyć alias, który będzie tymczasowy. Zostanie on usunięty po zamknięciu konsoli. Natomiast zaleca się korzystać z aliasu jeżeli chcemy skrócić sobie wywołanie jakiegoś polecenia. Dobrym przykładem będzie aktualizacja w systemie Linux.

W dystrybucji Debian i opartych o niego możemy stworzyć alias w następujący sposób:

alias update="sudo apt update && sudo apt dist-upgrade -y"

Natomiast w systemie Red Hat i opartych o niego:

alias update="sudo yum update -y"

Po jego wywołaniu, zarówno w jednym, jak i w drugim przypadku zostaniemy poproszeni o wprowadzenie hasła. Natomiast wywołujemy polecenie wprowadzając jego nazwę w konsoli. Nie korzystamy, tak jak w przypadku zmiennych, dodatkowo ze znaku dolara. Wprowadzamy tylko nazwę jaką ustawiliśmy.

Teraz sprawdźmy w jaki sposób ustawić taki alias na stałe.

Alias Stały

Najczęściej używaną powłoką w systemie Linux jest Bash. Plik konfiguracyjny, do którego musimy dopisać polecenie znajduje się w katalogu domowym i nosi nazwę .bashrc. Dlatego edytujemy go za pomocą edytora, tak jak to robię w poniższym przykładzie:

sudo nano -w ~/.bashrc

Odnajdujemy w nim linię w którym w komentarzu mamy wpisane:

# some more ls aliases

Pod tym komentarzem wprowadzamy nasz alians w następujący sposób:

alias update="sudo apt update && sudo apt dist-upgrade -y"

lub

alias update="sudo yum update -y"

W zależności od dystrybucji z jakiej korzystamy. Po dodaniu jednego z powyższych aliasów przy każdym uruchomieniu systemu będzie on dostępny z pozycji wiersza poleceń. Natomiast jeżeli chcesz aby był aktywny od zaraz wystarczy skorzystać z polecenia do przeładowania konfiguracji:

source ~/.bashrc

W ten sposób po zamknięciu konsoli, jak i również uruchomieniu ponownie systemu alias będzie cały czas dostępny.

Całą listę aliasów jesteś w stanie wypisać w następujący sposób:

alias
alias ls='ls --color=auto'
alias update='sudo apt update && sudo apt dist-upgrade -y'

Pierwszy jest automatycznie ustawiany przez dystrybucję Debian, z jakiej korzystam. Natomiast drugi w kolejności to ten który przed chwilą ustawiliśmy.

Podsumowanie – zmienne środowiskowe i aliasy w systemie Linux

Chciałem opisać te dwa zagadnienia, czyli zmienne środowiskowe i aliasy w systemie Linux, w jednym materiale ponieważ są one mocno zbliżone do siebie. Przyznam, że jeżeli potrzebuję skorzystać tymczasowo z jakiegoś polecenia to zapisuje je jako zmienna. Natomiast z aliasu korzystam w przypadku trwałego ustawienia. Pamiętaj jednak, że zmiennej nie jesteś w stanie zapisać jako element trwały. Czyli nie możesz go dopisać w pliku .bashrc i zmusić by działał. W tym celu korzysta się z aliasu.

Chcesz wiedzieć więcej o Linuxie? Sprawdź nasze szkolenia informatyczne. A czy przeczytałeś nasz poprzedni wpis? Jeśli nie, to nadrobisz to klikając TUTAJ.

 

 

 

Sprawdź, czego nauczysz się dzięki kursowi Grafany!

Udostępniamy darmowo ponad godzinny materiał z kursu. Przekonaj się, że jest idealny dla Ciebie!

Chcesz wziąć udział w kursie? Kliknij w link i obejrzyj co Cię czeka: https://asdevops.pl/demo-grafana/

 
 
 

Lekcja demo kursu Grafany!

X