Pisanie skryptów w Linux Bash ⋆ ALexHost SRL

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
18.12.2024

Pisanie skryptów w Linux Bash

Skrypty Bash to potężny sposób na automatyzację zadań, zarządzanie operacjami systemowymi i wykonywanie złożonych operacji w systemie Linux. Pisząc skrypty Bash, użytkownicy mogą łączyć wiele poleceń w jeden skrypt, oszczędzając czas i redukując liczbę błędów. Bash jest domyślną powłoką w większości dystrybucji Linuksa, co czyni go niezbędnym narzędziem dla administratorów, programistów i entuzjastów Linuksa.

W tym artykule zbadamy, jak pisać i wykonywać skrypty Bash w systemie Linux, obejmując podstawy, kluczowe pojęcia i praktyczne przykłady.


Czym jest skrypt Bash?

Skrypt Bash to zwykły plik tekstowy zawierający sekwencję poleceń, które mogą być wykonywane przez powłokę Bash. Pozwala on użytkownikom automatyzować powtarzalne zadania, tworzyć przepływy pracy i budować bardziej złożone sekwencje poleceń, które mogą wchodzić w interakcje z systemem operacyjnym Linux.

Skrypty Bash mogą wykonywać takie zadania jak:

  • Manipulacja plikami (kopiowanie, przenoszenie, zmiana nazwy)
  • Administracja systemem (monitorowanie procesów, zarządzanie użytkownikami)
  • Automatyzacja instalacji oprogramowania
  • Uruchamianie kopii zapasowych i zaplanowanych zadań

Jak napisać prosty skrypt Bash

1. Tworzenie pliku skryptu Bash

Aby utworzyć skrypt Bash, należy utworzyć nowy plik tekstowy. Użyj edytora tekstu, takiego jak nano, vim lub gedit, aby utworzyć plik skryptu z rozszerzeniem .sh (np. myscript.sh).

nano myscript.sh

2. Dodaj Shebang (#!)

Pierwszy wiersz skryptu Bash nazywany jest shebang, który mówi systemowi, którego interpretera użyć do wykonania skryptu. W przypadku skryptów Bash, linia shebang wygląda następująco:

#!/bin/bash

Gwarantuje to, że skrypt zostanie uruchomiony przy użyciu powłoki Bash, nawet jeśli inna powłoka jest domyślna dla użytkownika.

3. Zapisywanie poleceń w skrypcie

Po shebangu można dodać polecenia, które skrypt ma wykonać. Na przykład:

#!/bin/bash # To jest prosty skrypt witający użytkownika echo “Hello, $USER!” echo “Today is $(date)” echo “Your current directory is $(pwd)”
  • echo: Wypisuje tekst do terminala.
  • $USER: Zmienna systemowa zawierająca bieżącą nazwę użytkownika.
  • $(date): Wykonuje polecenie date, które wyświetla bieżącą datę i godzinę.
  • $(pwd): Wyświetla bieżący katalog roboczy.

4. Wykonywanie skryptu

Przed uruchomieniem skryptu należy nadać mu uprawnienia do wykonywania. Użyj polecenia chmod, aby skrypt był wykonywalny:

chmod x myscript.sh

5. Uruchom skrypt

Gdy skrypt jest wykonywalny, można go uruchomić z terminala za pomocą następującego polecenia:

./myscript.sh

Skrypt wykona zawarte w nim polecenia i wyświetli dane wyjściowe w terminalu.


Zmienne w skryptach Bash

Skrypty Bash umożliwiają używanie zmiennych do przechowywania danych i manipulowania nimi. Zmienne są używane do przechowywania informacji, takich jak ciągi znaków, liczby i dane wyjściowe poleceń.

Przykład definiowania zmiennych:

#!/bin/bash # Definiowanie zmiennych name=”John” age=25 # Używanie zmiennych w skrypcie echo “Hello, my name is $name.” echo “I am $age years old.”
  • Zmienne są definiowane bez spacji wokół znaku =.
  • Aby użyć wartości zmiennej, należy poprzedzić ją symbolem $ (np. $name).

Instrukcje warunkowe w Bash

Skrypty Bash obsługują instrukcje warunkowe, które umożliwiają wykonywanie poleceń w oparciu o określone warunki.

Przykład instrukcji If:

#!/bin/bash # Prośba o wprowadzenie danych przez użytkownika echo “Wprowadź liczbę od 1 do 10:” read number # Sprawdzenie, czy liczba mieści się w zakresie if [ $number -ge 1 ] && [ $number -le 10 ]; then echo “Liczba mieści się w zakresie.” else echo “Liczba jest poza zakresem.” fi
  • read: Odczytuje dane wejściowe użytkownika i zapisuje je w zmiennej.
  • if: Rozpoczyna instrukcję warunkową.
  • [ ]: Służy do testowania warunków (np. porównań).
  • -ge: Większe lub równe.
  • -le: Mniejszy lub równy.
  • &&: Operator logiczny AND.

Pętle w skryptach Bash

Pętle służą do wielokrotnego powtarzania poleceń, a Bash obsługuje zarówno pętle for, jak i while.

Przykład pętli for:

#!/bin/bash # Loop through a range of numbers for i in {1..5}; do echo “Iteration $i” done

Ta pętla wypisuje tekst “Iteracja”, po którym następuje liczba od 1 do 5.

Przykład pętli while:

#!/bin/bash # Initialize a counter counter=1 # Loop while the counter is less than or equal to 5 while [ $counter -le 5 ]; do echo “Counter: $counter” counter=$((counter 1)) # Zwiększanie licznika done

Ta pętla będzie zwiększać i drukować wartość licznika, aż osiągnie 5.


Funkcje w skryptach Bash

W skryptach Bash można definiować funkcje w celu grupowania poleceń, które mogą być ponownie wykorzystane w skrypcie.

Przykład funkcji:

#!/bin/bash # Zdefiniuj funkcję wypisującą powitanie greet_user() { echo “Witaj, $1!” } # Wywołanie funkcji z argumentem greet_user “Alice”
  • greet_user: Nazwa funkcji.
  • $1: Reprezentuje pierwszy argument przekazany do funkcji.

Praca z argumentami wiersza poleceń

Skrypty Bash mogą akceptować argumenty wiersza poleceń podczas ich wykonywania. Argumenty te są przechowywane w specjalnych zmiennych: $1, $2, $3 itd.

Przykład skryptu z argumentami:

#!/bin/bash # Check if two arguments were provided if [ $# -ne 2 ]; then echo “Usage: $0 ” exit 1 fi # Użyj argumentów echo “Argument 1: $1” echo “Argument 2: $2”
  • $#: Liczba argumentów przekazanych do skryptu.
  • $0: Nazwa skryptu.
  • $1, $2: Pierwszy i drugi argument przekazany do skryptu.

Debugowanie skryptów Bash

Aby debugować skrypt Bash, można dodać opcję -x podczas uruchamiania skryptu. Spowoduje to wyświetlenie każdego polecenia podczas jego wykonywania.

Przykład:

bash -x myscript.sh

Spowoduje to wypisanie każdego polecenia wraz z jego danymi wyjściowymi, co pomoże zidentyfikować błędy w skrypcie.


Podsumowanie

Pisanie skryptów Bash w systemie Linux pozwala zautomatyzować powtarzalne zadania, wykonywać operacje zarządzania systemem i efektywnie tworzyć złożone przepływy pracy. Opanowanie skryptów Bash pozwala zwiększyć produktywność i dostosować środowisko Linux do własnych potrzeb. Niezależnie od tego, czy dopiero zaczynasz, czy chcesz rozszerzyć swoje umiejętności skryptowe, skrypty Bash są niezbędnym narzędziem dla każdego użytkownika Linuksa.

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills