Lab 04 Programowanie w jezyku powloki

background image

04

Metodyka i Techniki Programowania

Programowanie w języku powłoki

mgr inż. Michał Grega

2007-10-11

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.


background image


#!/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:
Programowanie i jezyk C Lab 04
PI lab 2 Programy w języku asemblera maszyny W
Programowanie w jezyku C dla chetnych A Poznanski
CMS Lab 04 Szablony
Programowanie w jezyku C FAQ prcfaq
lab 04 id 257526 Nieznany
Napisać program w języku c który zawiera
bd lab 04 id 81967 Nieznany (2)
lab 04
16-20, Ogólna struktura programu w języku Pascal, Ogólna struktura programu w języku Pascal
Programowanie w języku asemblera
Informatyka, Podstawy Programowania w jezyku C++, Podstawy Programowania w jezyku C++'
PAS03, Og˙lna struktura programu w jezyku PASCAL
A Poznański Programowanie w języku C dla chętnych
Oracle Database 10g Programowanie w jezyku PL SQL or10ps

więcej podobnych podstron