Skip to content
Na tej stronie

Witaj świecie! – Tworzenie skryptów Bash, krok po kroku.

W pierwszym artykule z tej serii zajmiemy się utworzeniem pierwszego skryptu i jego uruchomieniem. Ponadto dowiemy się, jak możemy sprawdzić działanie skryptu oraz co zrobić w przypadku błędów.

Czym jest powłoka Bash?

Powłoka jest programem, który wykonuje określone działania według podanego wejścia. W prostych słowach powłoka jest wielofunkcyjnym narzędziem, którego działanie zależy od tego, co poda do powłoki użytkownik, najczęściej w wyspecjalizowanym języku.

Istnieje wiele programów działających w formie powłoki oprócz basha, chociażby python, node, i wiele innych. Bash działa w sposób podobny do tych programów, przy czym jego wyspecjalizowany język składa się z prostych (zazwyczaj 😉) komend.

Powłoka bash umożliwia nam poruszanie się w drzewie katalogów, manipulowanie wejściem i wyjściem, zarządzanie uruchamianymi programami, wykonywanie operacji warunkowych, i wiele więcej.

Warto wspomnieć, że język komend obsługiwany przez bash wywodzi się z języka, którego można ogólnie nazwać skryptem powłoki (ang. shell script) – w skrócie sh.

Składnia komendy w powłoce Bash

Poniżej przedstawiliśmy wykonanie przykładowej komendy w języku Bash. Komendę wykonaliśmy w trybie interaktywnym powłoki.

Efekt wykonania komendy
bash
echo Witaj świecie!
echo Witaj świecie!
Witaj świecie!
Witaj świecie!

Powyższą komendę możemy rozdzielić na dwa główne człony. Pierwszym członem jest echo, czyli program, który zostanie uruchomiony przez powłokę Bash. Drugim członem są dodatkowe argumenty, które zostaną przekazane do uruchamianego programu.

Czym są argumenty programu?

Argumentami są dane, które są przekazywane podczas uruchamiania innego programu. Program w trakcie swojego działania może sprawdzić, w jaki sposób został uruchomiony (inaczej swoje środowisko), wraz z argumentami.

Argumenty mogą być w dowolnej ilości, wraz z ich brakiem... No, z wyjątkiem tak zwanego argumentu zerowego, czyli w przypadku powyższej komendy, argumentu echo.

Jak utworzyć skrypt Bash?

Skrypt powłoki jest niczym innym, jak listą komend zapisaną do pliku tekstowego.

W tym przykładzie utworzymy skrypt, który wyświetli dwa napisy powitalne.

bash
#!/usr/bin/env bash
echo Witaj świecie!
echo Witaj Parzychedu!
#!/usr/bin/env bash
echo Witaj świecie!
echo Witaj Parzychedu!

Oprócz dodania komend do powyższego pliku, wstawiliśmy nagłówek #!/usr/bin/env bash. Jest on potrzebny, jeżeli chcemy być w stanie uruchomić nasz skrypt tak, jakby był programem wykonywalnym.

Jak uruchomić skrypt Bash?

Najprostszym sposobem jest uruchomienie nowej powłoki bash, podając jako argument ścieżkę do skryptu. Powłoka wywoła komendy z podanego pliku tekstowego, a następnie wyjdzie, kiedy skrypt wykona się.

bash
bash skrypt.sh
bash skrypt.sh
Witaj świecie!
Witaj Parzychedu!
Witaj świecie!
Witaj Parzychedu!

Jak sprawdzić działanie skryptu?

Debugowanie jest procesem usuwania usterki z programu za pomocą narzędzi, które wspierają analizę pojedynczych instrukcji.

Bash posiada funkcjonalność, która ułatwia debugowanie. Przekazując opcję -x przy wywoływaniu skryptu przez basha, instruujemy powłokę aby ta wyświetlała każde wykonywane polecenie.

Będzie nam to szczególnie przydatne w przyszłości, kiedy skrypty zaczną osiągać większe rozmiary, a ich działanie będzie bardziej rozbudowane.

bash
bash -x skrypt.sh
bash -x skrypt.sh
+ echo Witaj 'świecie!'
Witaj świecie!
+ echo Witaj 'Parzychedu!'
Witaj Parzychedu!
+ echo Witaj 'świecie!'
Witaj świecie!
+ echo Witaj 'Parzychedu!'
Witaj Parzychedu!

Warto znać tę technikę już na początku nauki skryptowania 😃

Jak umieścić komentarze wewnątrz kodu skryptu?

Linie rozpoczynające się znakiem # są ignorowane, to jest, nie są interpretowane jako polecenia.

Warto umieszczać komentarze w kodzie źródłowym opisujące sekcje instrukcji.

Można również umieścić komentarz obok kodu, z prawej strony.

bash
#!/usr/bin/env

# Wyświetlamy dwa powitania
echo Witaj świecie! # Niech świat czuje się powitanym
echo Witaj Parzychedu!

#!/usr/bin/env

# Wyświetlamy dwa powitania
echo Witaj świecie! # Niech świat czuje się powitanym
echo Witaj Parzychedu!

Działanie powyższego skryptu jest analogiczne do poprzedniego.

Podsumowanie

  1. bash jest narzędziem uniksowym, umożliwiającym interpretowanie i wykonywanie komend napisanych w języku sh.
  2. bash jest przydatny każdemu administratorowi poruszającemu się w środowisku uniksopodobnym.
  3. Program echo[1] służy do wyświetlenia tekstu podanego przez listę argumentów do swojego wyjścia.
  4. Skrypt powłoki jest inaczej zapisem komend.
  5. Aby wywołać skrypt Bash, można uruchomić nową powłokę bash przekazując jej skrypt, albo uruchomić sam skrypt pod warunkiem, że ten ma odpowiedni nagłówek i prawo do wykonania.
  6. Argumenty to lista napisów przekazywana uruchamianemu programowi.

  1. echo jest równocześnie komendą wbudowaną w język Bash i programem. Komendy wbudowane przedstawimy w kolejnych rozdziałach przewodnika. ↩︎