Lab 04 Programowanie w jezyku powloki


2007-10-11
Metodyka i Techniki Programowania
Programowanie w języku powłoki
mgr inż. Michał Grega
04
W ćwiczeniu użyto materiałów ze strony http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc10
UWAGA: Zadania proszę wykonać w systemie lokalnym (knoppix)!
Ćwiczenie 1 Powłoki
Shell (ang. muszla, powłoka) to podstawowy interfejs użytkownika w środowisku Unix. Istnieje kilka rodzajów
powłok. Często spotykane to sh (Bourne shell), bash (Bourn-again shell), tcsh (TC-shell).
Proszę zapoznać się z różnicami pomiędzy powłokami (na przykład)
·ð http://en.wikipedia.org/wiki/Unix_shell
·ð http://www.faqs.org/faqs/unix-faq/shell/shell-differences/
http://en.wikipedia.org/wiki/Comparison_of_computer_shells
·ð WykÅ‚ad  01_02_03 , slajd 21.
Proszę sprawdzić, które powłoki są dostępne. Powłokę zmienia się poprzez podanie jej nazwy.
Ćwiczenie 2 Zmienne środowiskowe
Zapoznaj się z ustawionymi w systemie zmiennymi środowiskowymi (polecenie env, export, setenv), zastanów
siÄ™ nad ich znaczeniem  zmienne SHELL, PATH, HOME, USER
Ustaw zmienną P1 przypisując jej wartość  test .
Ćwiczenie 3 Pierwszy skrypt w języku powłoki
Za pomocą edytora tekstu stwórz plik o następującej treści:
#!/bin/bash
echo Hello World
Zapisz plik, zmień uprawnienia tak, aby plik był wykonywalny i uruchom go.
Pierwsza linia pliku informuje system, jakiego interpretera użyć. Druga linia wywołuje polecenie echo, które
wypisze na ekranie tekst  Hello World .
ZADANIE
1. Napisz skrypt, którego zadaniem będzie zapisanie zawartości katalogu do pliku tekstowego
2. Zmodyfikuj zmienną systemową PATH w taki sposób, aby skrypt był uruchamialny z dowolnego miejsca w
systemie plików. UWAGA  nie nadpisz zmiennej PATH nowymi danymi lecz dodaj do niej nową ścieżkę za
pomocą składni: PATH=$PATH:/nowykatalog
Ćwiczenie 3 Zmienne
Programując w języku powłoki przyjmuje się (jako dobry zwyczaj, zapewniający czytelność kodu) pisanie nazw
zmiennych Z WIELKICH LITER. Zapoznaj się z działaniem następującego skryptu.
#!/bin/bash
STR="Hello World!"
echo $STR
ZADANIE
1. Napisz skrypt, którego zadaniem będzie ustawienie zmiennej systemowej P1 na wartość  true . W
skrypcie użyj zmiennych.
Ćwiczenie 4 Pętla if else
Pętla if (jeżeli) else (w przeciwnym razie) działa w następujący sposób: jeżeli (if) warunek jest prawdziwy wykonaj
coÅ›, w przeciwnym razie (else) wykonaj coÅ› innego.
#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
echo warunek jest prawdziwy
else
echo warunek jest falszywy
fi
Powyższy skrypt sprawdza, czy zmienna T1 jest równa zmiennej T2 i w zależności od tego zwraca odpowiedni
komunikat testowy. Napisz taki (lub podobny) skrypt i eksperymentuj z warunkami. Zwróć uwagę na wcięcia w
kodzie  dobra praktyka programistyczna zaleca wyróżnianie elementów kodu w pętli za pomocą wcięcia wielkości
jednej tabulacji.
ZADANIE
1. Napisz skrypt, który w zależności od wartości logicznej (true lub false) zmiennej środowiskowej P1 będzie
wyświetlał na ekranie odmienne komunikaty
Ćwiczenie 4 Funkcje
Funkcje to pewne bloki programu wykonujące określone zadania. Służą one (najczęściej) uproszczeniu procesu
programowania. Funkcje mogą przyjmować parametry i zwracać wartości.
1 #!/bin/bash
2 function quit {
3 exit
4 }
5 function e {
6 echo $1
7 }
8 e Hello
9 e World
10 quit
11 echo foo
W powyższym przykładzie zdefiniowano dwie funkcje  o nazwie  quit w linii 2 oraz  e w linii 6. Funkcja  quit nie
przyjmuje parametrów i zawiera jedno polecenie   exit . Funkcja ta jest wywołana poprzez nazwę w linii 10.
Funkcja  e przyjmuje parametr i wykonuje polecenie  echo . Funkcja ta jest wywoływana, wraz z parametrem, w
liniach 8 oraz 9. W linii 8 funkcja jest wywoływana poprzez nazwę  e z parametrem  Hello . Do parametru tego
funkcja ma dostęp za pośrednictwem zmiennej $1. Tak więc wywołanie funkcji  e z parametrem  Hello jest
jednoznaczne z wywołaniem polecenia echo Hello . Zwróć uwagę na wcięcia w kodzie.
Ćwiczenie 5 Pobieranie danych od użytkownika
Programując w języku powłoki istnieje możliwość pobrania danych od użytkownika w trakcie wykonywania
programu.
#!/bin/bash
echo Please, enter your name
read NAME
echo "Hi $NAME!"
W powyższym przykładzie skrypt pobiera od użytkownika jego imię.
ZADANIE:
1) Napisz skrypt, który pobierze od użytkownika wartość, następnie sprawdzi czy zmienna środowiskowa
P1 jest ustawiona na podaną przez użytkownika wartość. Jeśli jest  wyświetli odpowiedni komunikat.
Jeśli nie jest  ustawi ją na podaną wartość.
2) * Zmodyfikuj powyższy skrypt tak, aby w wywołaniu skryptu można było podać nazwę zmiennej
systemowej, której wartość chce się ustawić.


Wyszukiwarka

Podobne podstrony:
01 Wprowadzenie do programowania w jezyku C
Programowanie w jezyku C Szybki start procss
Efektywne Programowanie W Języku Java
A Poznański Programowanie w języku C dla chętnych
Oracle?tabaseg Programowanie w jezyku PL SQL or10ps
Wprowadzenie do programowania w języku C
Procedury, funkcje, wyzwalacze programowanie w języku T SQL
2 Programowanie w jezyku logiki wprowadzenie
Programowanie w jezyku C FAQ
01 Programowanie w jezyku ANSI C

więcej podobnych podstron