Skip to main content

9.2 Pisanie skryptu

 

Jakie czynności musimy wykonać w celu utworzenia skryptu ? Skrypt tworzymy wpisując polecenia do pliku tekstowego. Robimy to przy pomocy dowolnego edytora. W naszym przypadku skorzystamy z edytora vi; aby utworzyć plik tekstowy, w linii poleceń wystukujemy:

$ vi skrypt1

 

Pojawia się ekran edytora tekstowego i w tym momencie jesteśmy gotowi do napisania skryptu

#!/bin/bash

echo  Witaj

echo to jest moj pierwszy skrypyt

echo nacisnij klawisz Enter

read

 

W skrypcie występują dwa polecenia : echo i read

Wiersze zaczynające się od znaku hasz # są liniami komentarza, czyli w trakcie wykonywania skryptu będą pomijane przez interpretator. Pierwsza linia naszego skryptu, zaczyna się ciągiem dwóch znaków:  #! , które maja szczególne znaczenie; wskazują na rodzaj powłoki systemu w jakiej ma być uruchamiany skrypt. Za znakami #! Występuje pełna ścieżka dostępu do żądanej powłoki (w naszym przypadku jest nią bash), jeżeli pierwsza linia naszego skryptu nie będzie zawierała wyrażenia  #!/bin/bash lub wyrażenie to będzie zawierało błędy: np. znakami będą przedzielone spacjami (jedna spacja pomiędzy np. #   !) to wtedy skrypt nie zostanie uruchomiony.

 

$ chmod a+x skrypt1

 

$ chmod 755 skrypt1

 

Skrypt jest plikiem tekstowym zawierającym polecenia. Skrypt możemy utworzyć przy pomocy każdego edytora dostępnego w systemie Linux (emacs,vi,vim). Ponieważ, w naszym przypadku, poznaliśmy tylko vi, więc użyjemy tego właśnie edytora do utworzenia kilku skryptów by zilustrować najprostsze zasady programowania w bashu. Zalogujmy się jako administrator systemu (root) i po ukazaniu się i na ekranie znaku zachęty (przypominam, że w przypadku administratora jest to  #) stwórzmy plik o nazwie skrypt1:

 

$  vi  skrypt1


 

 

Wyjaśnienie:

1. każdy skrypt musi zaczynać się od wypełnienia pierwszej linii przez  #!/bin/bash, która definiuje ścieżkę dostępu do interpretatora, który wykona a raczej zinterpretuje polecenia zawarte w skrypcie.

W naszym przypadku jest nim  /bin/bash

2. utworzony pliku o nazwie skrypt1 jest plikiem zwykłym, który  nie może być egzekwowany. Wykonajmy polecenie: 

ls  -l   skrypt1

-rw-r--r--   1   piotr   ola     15 marca 2004  skrypt1

 

Jak widzimy prawa użytkownika do pliku są ograniczone do jego czytania i modyfikowania, członkowie grupy ola i pozostali użytkownicy systemu mogą go tylko czytać (czy wiesz dlaczego – jeśli nie – powtórz rozdział …). Utworzony plik skrypt1 musimy uczynić wykonalnym, innymi słowy chcemy mu nadać prawo wykonywania, ale prawo to przypiszemy tylko jego właścicielowi. W tym celu musisz wykonać następujące polecenie:

chmod  u+x  skrypt1

 

Po wykonaniu tego polecenia powtórzmy raz jeszcze polecenie  ls -l

$   ls  -l   skrypt1

-rwxr--r--   1   piotr   ola     15 marca 2004  skrypt1

 

x oznacza, że użytkownik piotr ma prawo egzekwować skrypt1

 

Czy widzisz różnice ? 1,2,3 znak wyświetlonej informacji pozostają bez zmiany, natomiast czwarty zmienia się z  „-”   na  „x”. Oznacza to, że skrypt1 jest plikiem wykonywalnym przez jego właściciela. Reszta wyświetlonej informacji pozostaje bez zmian co oznacza, że członkowie grupy oraz inni użytkownicy nie mają prawa wykonywać tego skryptu.

Pytanie: w jaki inny sposób możesz przypisać  prawa wykonywania pliku tylko przez jego właściciela ?

 

Po wykonaniu polecenia z punktu 2, nasz skrypt może być wyegzekwowany jako polecenie skrypt1.

#   . skrypt1

 

Reasumując: utworzenie skryptu składa się z pięciu odrębnych czynności:

1. Otwarcie pliku przy pomocy edytora tekstowego

2. Weryfikacje, że pierwsza linia skryptu wygląda : #!/bin/bash

3. Nagranie skryptu i opuszczenie edytora tekstowego

4. Uczynienie skryptu wykonywalnym , czyli musimy mu nadać prawo wykonywania przy pomocy polecenia : chmod

5. Egzekucja skryptu przy pomocy wyrażenia ./skrypt1

  • Utworzono .
  • Kliknięć: 18736