Unix lab 9


MATERIAAY DO ĆWICZEC LABORATORYJNYCH
(9)
Zmienne środowiskowe (zmienne globalne, zmienne eksportowane)
Oprócz zmiennych lokalnych (wykorzystywanych przez powłokę) istnieją jeszcze zmienne
globalne tzw. zmienne środowiskowe - dostępne dla wszystkich procesów uruchamianych
przez powłokę.
Nazwy tych zmiennych pisane są dużymi literami.
Do ustawiania wartości zmiennej środowiskowej służy polecenie setenv
setenv TEST  To jest tekst
Przykład definiowania zmiennej środowiskowej.
echo $TEST
env
Polecenie env bez parametrów, wyświetla listę wszystkich
zdefiniowanych zmiennych środowiskowych
setenv
Podobną funkcję spełnia polecenie setenv bez parametrów -
wyświetlenie listy wszystkich zmiennych środowiskowych
setenv TEST
Jeśli nie podano wartości dla zmiennej, to zostanie przypisana
jej wartość pusta (zerowa).
echo $TEST
unsetenv TEST
Usunięcie definicji zmiennej środowiskowej
echo $path
katalogi na liście zmiennej path oddzielane są spacjami, a na
liście zmiennej PATH  dwukropkami
echo $PATH
Kilka zmiennych środowiskowych jest już zdefiniowanych:
HOME, USER, PWD, TERM, PATH
Posiadają one te same wartości jak zmienne: home, user, cwd, term, path.
Zadanie:
Wykonać poniższe polecenia i przeanalizować uzyskane wyniki:
set y1=100
setenv X1 5
csh
set y2=200
setenv Y2 50
echo $y1
echo $X1
exit
echo $y2
echo $Y2
echo $y1
Obliczenia arytmetyczne
@ zmienna operator [wyrażenie]
Polecenie @ (at) umożliwia wykonywanie
działań arytmetycznych na liczbach
całkowitych. Jest to polecenie wewnętrzne
powłoki C.
@ x = 5 x=5 Polecenie to tworzy nową zmienną x i nadaje
jej wartość 5. Jest więc równoważne
poleceniu:
set x=5
Operatory np. "=" muszą być oddzielone od
operandów (np. x, 5) spacjami.
@ y = $x + 6 y=11
@ y = $x  2 y=3
@ y = 27 * 6 / 5 y=27 mnożenia i dzielenia wykonywane są po kolei
od prawej strony
@ x = 27 / 6 * 5 x=0
@ z = 5 % 3 z=2 reszta z dzielenia
@ x -= 2 x=2 odjęcie liczby 2 od dotychczasowej wartości
zmiennej x
@ x += 3 x=6
@ x *= 2 x=12
@ x++ x=13 powiększenie wartości zmiennej x o 1
@ x-- x=12 zmniejszenie wartości zmiennej x o 1
@ x = 5 + 6 / 2 x=8 Operacja dzielenia ma większy priorytet niż
dodawanie
@ x = (5 + 6) / 2 x=5 Nawiasy okrągłe narzucają kolejność
wykonywania działań
Obliczenia na liczbach rzeczywistych
bc [-c] [-l] [plik...]
Program bc jest kalkulatorem. Dane
wejściowe pobierane są z pliku, albo ze
standardowego wejścia. Jeśli standardowe
wejście i wyjście jest skojarzone z terminalem,
to praca z programem bc staje się
interaktywna.
bc
Program bc wywołany bez parametrów
4+5 pracuje w trybie interaktywnym.
9
67/2
33
scale=3 Dyrektywa scale=3 powoduje, że wyniki będą
67/2 wyprowadzane w formacie z 3 cyframi po
33.500
przecinku
a=3
b=25
a+b-1.5 26.5
sqrt(3) 1.732
Ctrl+D
echo "scale=3; 13 / 2" | bc
Polecenie echo wysyła dane do programu bc.
6.500
Instrukcje warunkowe
if (warunek) polecenie
Polecenie (pojedyncze), zostanie wykonane,
jeśli warunek zostanie spełniony (jeśli
będzie miał wartość logiczną true)
if (warunek) then
Jeśli warunek zostanie spełniony, zostanie
polecenie1
wykonane polecenie1, jeśli warunek nie jest
else
spełniony, zostanie wykonane polecenie2.
polecenie2
endif
Polecenie1 i polecenie2 może być grupą
poleceń zapisanych w osobnych wierszach
lub oddzielonych średnikami.
if (warunek1) then
Postać złożona instrukcji if
polecenie1
else if (warunek2) then
polecenie2
else
polecenie3
endif
Warunki logiczne:
Operatory relacji:
== równy < mniejszy
!= różny >= większy lub równy
> większy <= mniejszy lub równy
Operatory logiczne:
|| alternatywa,  lub ,  or
&& koniunkcja,  i ,  and
! negacja,  not
Warunki dotyczące plików:
-e plik = TRUE (prawda), gdy plik istnieje
-d katalog = TRUE (prawda), gdy katalog istnieje
cd
touch pcm
if ( -e pcm ) echo  plik pcm istnieje
set x=2
if ( $x == 2 ) echo x=2
Instrukcja powtarzania repeat
repeat n polecenie
Wykonanie polecenia n razy.
repeat 5 echo Uwaga
Zostanie wypisany 5 razy komunikat
Instrukcja powtarzania foreach
foreach zmienna (lista)
Grupa poleceń zostanie wykonana dla każdej
grupa_poleceń wartości zmiennej wymienionej na podanej
liście.
end
foreach n (aa bb cc)
echo $n
end
touch p1 p2 p3
foreach p ( p1 p2 p3 )
ls -l $p
end
set x=`date`
foreach d ($x)
echo $d
end
Instrukcja pętli while
Powtarzanie poleceń, dopóki warunek ma
while (warunek)
wartość true.
grupa_poleceń
end
while 1 > 0
Jest to przykład pętli nieskończonej. Można ją
przerwać naciskając klawisze Ctrl+C. Opcja
echo  n x
-n w poleceniu echo powoduje, że kursor po
wypisaniu litery x, pozostaje w tej samej linii.
end
Pierwszy wiersz można napisać prościej:
 while 1
Zadanie:
Przejrzeć pliki wsadowe .cshrc i .login, które konfigurują środowisko pracy użytkownika.
Znajdują się w katalogu macierzystym użytkownika.


Wyszukiwarka

Podobne podstrony:
Unix lab 7
Unix lab 10
Unix lab 3
Unix lab 4
Unix lab 1
Unix lab 5
Unix lab 8
Lab UNIX files and directories management
Lab Wprowadzenie do systemu UNIX
Lab Introductin to UNIX System
Lab Wprowadzenie do systemu UNIX
Lab cpp
lab 2
T2 Skrypt do lab OU Rozdział 6 Wiercenie 3
IE RS lab 9 overview
lab pkm 3
lab chemia korozja
lab tsp 3

więcej podobnych podstron