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 CProgramowanie w jezyku C Szybki start procssEfektywne Programowanie W Języku JavaA Poznański Programowanie w języku C dla chętnychOracle?tabaseg Programowanie w jezyku PL SQL or10psWprowadzenie do programowania w języku CProcedury, funkcje, wyzwalacze programowanie w języku T SQL2 Programowanie w jezyku logiki wprowadzenieProgramowanie w jezyku C FAQ01 Programowanie w jezyku ANSI Cwięcej podobnych podstron