Jak pisać skrypty Bash do automatyzacji Linuksa

Skrypty Bash są niezwykle przydatną umiejętnością dla każdego użytkownika systemu Linux. Nawet na poziomie podstawowym, opanowanie tej techniki może znacząco zwiększyć efektywność korzystania z komputera, eliminując konieczność ręcznego wykonywania wielu zadań. W tym artykule pokażemy, jak pisać skrypty Bash, aby zautomatyzować swoje działania w systemie Linux i zyskać pełną kontrolę nad środowiskiem pracy. Przedstawimy podstawy tworzenia skryptów w powłoce Bash, wyjaśnimy, co składa się na skrypt, jak go uruchomić oraz omówimy znaczenie shebangów i inne istotne zagadnienia!

Rodzaje skryptów

Wyróżniamy różne typy skryptów, przede wszystkim SH i BASH. Rozszerzenia plików mają kluczowe znaczenie, ponieważ informują interpreter o sposobie ich uruchomienia. Skrypty z rozszerzeniem SH są kompatybilne z różnymi powłokami, nie tylko z Bash. Oznacza to, że skrypt stworzony dla Basha w systemie Linux będzie również działał na komputerach Mac, BSD oraz w innych systemach z podobnymi powłokami.

Natomiast skrypty z rozszerzeniem BASH są zaprojektowane wyłącznie do uruchamiania w powłoce Bash. Oznacza to, że skrypt z takim rozszerzeniem nie zadziała w powłoce Fish ani w żadnej innej dostępnej powłoce.

Rola shebang

Niektóre skrypty mogą nie mieć w ogóle rozszerzeń plików. Zamiast tego posługują się shebangiem, który informuje interpreter o funkcji skryptu i sposobie jego uruchomienia. Przy tworzeniu skryptu, shebang zawsze znajduje się na początku. Brak shebanga może skutkować problemami z uruchomieniem skryptu, zwłaszcza w przypadku, gdy nie ma zastosowanego rozszerzenia pliku.

Choć shebang jest zagadnieniem, które można zgłębiać, początkujący nie muszą się nim nadmiernie przejmować. Jest to bardziej istotne dla zaawansowanych użytkowników Basha, którzy piszą złożone narzędzia. Dla nowicjuszy, jedynym istotnym shebangiem, o którym warto wiedzieć, jest standardowy: #!/bin/bash.

Jak stworzyć skrypt Bash

Wielu początkujących myli skrypty Bash z programowaniem w tradycyjnym sensie. Głównym celem pisania skryptów w Bash jest łączenie różnych poleceń w jeden ciąg, co pozwala na efektywne wykonanie skomplikowanych zadań bez konieczności ręcznego wprowadzania każdej komendy w terminalu. Jeśli pragniesz poważnie zająć się programowaniem w Bash, warto rozważyć naukę bardziej zaawansowanego języka programowania, takiego jak Python.

Aby rozpocząć, otwórz terminal i wprowadź poniższe polecenie:

nano myfirstbashscript

Spowoduje to otwarcie edytora tekstu Nano. Wewnątrz edytora dodaj shebang, aby pomóc interpreterowi zrozumieć, co ma zrobić ze skryptem.

#!/bin/bash

Od tego momentu możesz dodawać dowolne polecenia! Na przykład, użytkownik Ubuntu może stworzyć prosty skrypt do aktualizacji systemu, dodając linie:

sudo apt update; sudo apt upgrade -y

Możesz także stworzyć skrypt, który będzie nieprzerwanie pingował określony adres, jeśli chcesz monitorować prędkość swojej sieci:

ping google.com

Dodawaj dowolne polecenia do swojego skryptu! Bądź kreatywny!

Po dodaniu wszystkich potrzebnych komend, zapisz skrypt w Nano za pomocą kombinacji klawiszy CTRL + O.

Gdy skrypt jest gotowy, czas na aktualizację jego uprawnień. W terminalu wprowadź:

sudo chmod +x myfirstbashscript

Uruchamianie skryptów

Aby uruchomić skrypt powłoki, otwórz terminal i wpisz:

sudo sh script.sh

Skrypty BASH uruchomisz przy pomocy:

sudo bash script.bash

Alternatywnie, niezależnie od rozszerzenia pliku, możesz uruchomić skrypt, wpisując ./filename w terminalu.

Wszystkie trzy wymienione metody uruchamiania skryptów działają poprawnie. Należy jednak pamiętać, że użycie ./filename może być najmniej zalecane, ponieważ skrypty często nie działają, chyba że mają odpowiednie uprawnienia. Ustaw uprawnienia za pomocą:

sudo chmod +x script

Tworzenie skryptu jako pliku binarnego

Aby uruchomić skrypt, wpisując jego nazwę w terminalu, musisz nadać mu atrybut wykonywalności. Użyj polecenia chmod, aby to zrobić:

sudo chmod +x

Gdy skrypt zostanie oznaczony jako wykonywalny, musisz go przenieść do ścieżki dostępnej dla użytkownika. Można to zrobić przy pomocy polecenia mv. Alternatywnie, użyj polecenia cp, jeśli chcesz zachować kopię skryptu w oryginalnej lokalizacji.

sudo mv /location/of/script /usr/bin/

lub

sudo cp /location/of/script /usr/bin/

Następnie możesz uruchomić przeniesiony skrypt z dowolnego miejsca, wpisując jego nazwę w terminalu. Na przykład, jeśli stworzyłeś skrypt do pobierania filmów z YouTube i umieściłeś go w /usr/bin/, możesz go uruchomić w następujący sposób:

youtubescript

I to wszystko!

Podsumowanie

Nauka skryptów Bash to niezwykle przydatne narzędzie. Bez tej umiejętności administratorzy systemów i entuzjaści terminali mogliby spędzać długie godziny na ręcznym wykonywaniu zadań. Dzięki skryptom Bash można zautomatyzować wiele procesów w systemie Linux. Opanowanie potęgi Basha pozwala na szybsze i bardziej efektywne wykonywanie skomplikowanych operacji.

Powłoka jest niezwykle potężna, a im więcej się o niej dowiesz, tym lepiej zrozumiesz swój system Linux i jego automatyzację. Z Basha nie ma ograniczeń, wystarczy odrobina kreatywności!