Artykuł przygotował: 17.08.2022
Co to jest Bash
Bash to tzw. powłoka systemu Linux. To nic innego jak program, który umożliwia nam komunikację z systemem. Są różne powłoki dla systemu Linux ale Bash jest zdecydowanie najpopularniejszy. Dla niezliczonej ilości użytkowników jest on podstawowym narzędziem pracy. Odpowiednikiem Bash dla systemu Windows jest narzędzie PowerShell.
Dwa sposoby pracy z Bash
Z technicznego punktu widzenia Bash jest tzw. interpreterem poleceń. Pewnie kojarzysz, że do terminala Linuxa można wpisywać różne komendy. Bash te komendy odbiera od nas, interpretuje, przekazuje do systemu i następnia zwraca nam wynik.
To jest taki najbardziej podstawowy sposób pracy z Bash.
Drugi sposób pracy to użycie tzw. plików wsadowych. Takie pliki zawierają kod Bash. Pliki można w dowolnym momencie uruchomić i Bash będzie w stanie wykonać kod w nich zawarty. Czasami używa się określenia “skrypty Bash” albo “skryptowanie Bash”
Pisanie własnych skryptów Bash to niezwykle przydatna umiejętność. Możesz dzięki nim zapisać nawet bardzo złożone polecenia. Potem wystarczy taki skrypt uruchomić i polecenia zostaną wykonane. To świetny sposób na automatyzację dowolnych czynności wykonywanych w systemie Linux.
Fundamenty Bash
Interaktywny kurs Bash - przystępna teoria, liczne zadania i techniki pracy. Rozpocznij kurs Bash
Co możesz zrobić za pomocą Bash?
Wszystko! Łatwiej byłoby napisać czego się nie da zrobić.
Pomyśl o dowolnym zadaniu, które w systemie Linux zajmuje sporo czasu. I pomyśl teraz, że to zadanie możesz łatwo zautomatyzować za pomocą Bash.
Za pomocą skryptów Bash możesz na przykład:
- pisać własne komendy;
- wykonywać obliczenia;
- tworzyć pliki, zapisywać do nich treść i wykonywać na nich dowolne operacje;
- automatyzować dowolną czynność, która zajmuje ci sporo czasu oraz energii.
Popatrzmy na prosty przykład. Wyobraź sobie, że często zmieniasz nazwy plików w katalogu. Ręczna zmian nazw przy dużej ilości plików jest pracochłonna. Wystarczy napisać prosty skrypt, który będzie to robił automatycznie. Będzie w stanie w parę sekund zmienić nazwy tysięcy plików.
Jeśli nauczysz się podstaw skryptowania to praca w Linuxie będzie po prostu łatwiejsza, szybsza i dużo przyjemniejsza.
Jak piszemy komendy Bash
Każdy użytkownik Linuxa kojarzy ten sposób pracy. W terminalu wprowadzamy komendę np. ls i otrzymujemy wynik. Wynik może wyglądać tak:
docs/ logo.png print.txt readme.md misc/
Za pomocą powyższej komendy wylosowaliśmy zawartość bieżącego katalogu. Ten prosty przykład ilustruje dobrze sposób działania narzędzia: wpisz komendę i uzyskaj jakiś wynik.
Jak piszemy skrypty Bash
Aby rozszerzyć możliwości Bash, możesz pisać własne skrypty. Możesz po prostu potraktować Bash jako zwykły język programowania. Dzięki temu pojawiają się niesamowite wręcz możliwości automatyzacji zadań.
Skrypty Bash umieszczamy w plikach z rozszerzeniem .sh. Zawartość pliku można tworzyć i zmienić za pomocą dowolnego edytora. Następnie należy przejść do katalogu, w którym nasz plik się znajduje i go uruchomić. Przejdźmy może do prostego przykładu.
Mamy taki kod skryptu Bash:
for name in "one" "two" "three";
do
echo $name;
done
Ten kod to pętla for, która powtarza wskazaną czynność. Nasz kod zapisaliśmy w pliku script.sh. Przechodzimy do katalogu, w którym nasz plik się znajduje i wpisujemy następujące polecenie:
sh script.sh
Skrypt Bash zostanie uruchomiony. Tak wygląda efekt działania:
one
two
three
To tylko prosty przykład, ale dobrze ilustruje zasadę pisania skryptów Bash.
Czego się trzeba nauczyć na początek
Bash to narzędzie Linuxowe czyli potrzebna będzie ci podstawowa orientacja w tym systemie. Jeśli znasz podstawowe komendy terminala i potrafisz wykonać takie operacje jak tworzenie czy otwieranie pliku to spokojnie sobie poradzisz w opanowaniem skryptowania.
Bash sam w sobie nie jest specjalnie trudny. Jeśli chcesz zacząć pisać skrypty to musisz opanować podstawowe elementy składni takie jak zmienne, tablice, pętle czy instrukcje warunkowe. Podstawy da się ogarnąć w kilka dni. A zyskać możesz naprawdę dużo, zwłaszcza, jeśli na co dzień dużo czasu spędzasz z Linuxem