Systemy operacyjne

Rafał Polak 12k2

Laboratorium Komputerowe nr.6

TEMAT: Środowisko Linux - Programowanie w języku powłoki 2

Celem ćwiczenia będzie opanowanie języka skryptowego w powłoce bash oraz zapoznanie się z poleceniami i operatorami wykorzystywanymi do programowania.

Podczas pisania programu może okazać się, iż niezbędne będzie pobranie informacji od użytkownika. Polecenie pobierające dane:

read imie

echo „Witaj $imie”

  1. BUDOWA POELEMENTÓW PROGRAMU i OPERATORY

W celu działaniach na plikach niezbędne będzie pobieranie informacji dotyczących interesujących nas plików lub pojedynczego pliku, jak i zarówno działanie na katalogach. Ważne jest by rozróżniać folder od katalogu. Do tego służą niżej wymienione operatory:

-d nazwa odnosi się do katalogu

-f nazwa jest zwykłym plikiem

-r nazwa może być czytany przez proces

-s nazwa ma długość większą od zera

-w nazwa może być zapisany przez proces

-x nazwa plik jest wykonywalny

Ważnym podzespołem pliku są funkcje. Działają one na identycznej zasadzie jak w języku C. Przykład zastosowania funkcji w kodzie dodająca jedynkę do zmiennej:

0x01 graphic

Funkcje można definiować także bezpośrednio w wierszu poleceń i odwoływać się do nich poprzez wywołanie nazwy funkcji. Dodatkowo bezpośrednio w wierszu poleceń powłoki można wykonywać działania matematyczne według poniższego przykładu. Należy pamiętać o odpowiednich znakach spacji i sleshu przy wykonywaniu mnożenia:

0x01 graphic

  1. ZADANIA SKRYPTOWE

Pierwszy skrypt pobierający datę, katalog w którym się aktualnie znajdujemy i zliczający ilość plików w nim zawarty.

0x01 graphic

Drugi skrypt polega na zastosowaniu pobierania danych od użytkownika z klawiatury. Możliwe jest pobieranie kilka zmiennych jednocześnie.

0x01 graphic

Następnym skryptem do samodzielnego opracowania jest program działający na dwóch zmiennych oraz poleceniu expr służącym do wykonywania działań matematycznych:

0x01 graphic

Poniżej znajduje się kod skryptu działający na operatorach plikowych sprawdzający czym jest zadany przez użytkownika programu wpisany ciąg znaków, czy folderem czy plikiem.

0x01 graphic

Oto są dodatkowo przykładowe skrypty pętli FOR, WHILE oraz instrukcji warunkowej CASE.

CASE:

0x01 graphic

FOR:

0x01 graphic

WHILE:

0x01 graphic

Skrypt działający w pętli while do podania odpowiedniego wyrażenia, poprawnej odpowiedzi. Jeżeli odpowiedź jest nie poprawna zapytuje o nią ponownie:

0x01 graphic

Oraz przedstawienie zasady działania pętli until, która działa analogicznie do pętli while, jednakże działa do momentu w którym wyrażenie staje się prawdziwe.

0x01 graphic