Számítógép architektúrák. A mai témáink. A Unix. A burok



Hasonló dokumentumok
Számítógép Architektúrák. 4. Gyakorlat

Számítógép architektúrák. Felhasználói felületek, kezelők. Szokásos két osztályuk. Felhasználói felületek

OPERÁCIÓS RENDSZEREK. Az OS kernel felületei. A rendszerhívások. Felületek a kernelhez: a burok és az API

Számítógépek, számítógép rendszerek

Számítógép architektúrák. Felhasználói felületek

chmod umask chown, chgrp

Szkriptnyelvek. 1. UNIX shell

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Munka állományokkal. mv: áthelyezés (átnevezés) rm: törlés. rmdir: üres könyvtár törlése. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

Operációs Rendszerek II. labor alkalom

Programozás alapjai óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján

S z á m í t ó g é p e s a l a p i s m e r e t e k

BASH SCRIPT SHELL JEGYZETEK

Operációs rendszerek I. IIII. gyakorlat

Munka állományokkal. mv: áthelyezés (átnevezés) rmdir: üres könyvtár törlése rm: törlés. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

S z á m í t ó g é p e s a l a p i s m e r e t e k

Operációs rendszerek 1.

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek gyak.

1. Alapok. #!/bin/bash

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek 1.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Számítógépek, számítógéprendszerek. Wagner György Általános Informatikai Tanszék

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs Rendszerek II. labor. 2. alkalom

OPERÁCIÓS RENDSZEREK II GYAKORLAT

Példa: Aktuális könyvtár tartalmának fájlba mentése, melynek neve az aktuális dátum és idő: ls l > `date+%f_%h-%m`.txt

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu

Programozás alapjai gyakorlat

További vezérlő valamint számításokat megkönnyítő szerkezetek

Linux parancsok összefoglaló.

További vezérlő valamint számításokat megkönnyítő szerkezetek

6. BASH programozás I.

A héj vezérlő szerkezetei I.

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Az állományok kezelésére használt fontosabb parancsok

Linux kezelés alapjai


A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Operációs Rendszerek példatár. Utolsó frissítés: február 10.

Számítógépes alapismeretek

Operációs rendszerek. A mai program. Jó dolog a test parancs! Segédprogramok, szűrők

Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A sed folyamszerkesztő

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Operációs Rendszerek. Windows Parancssor

BASH script programozás II. Vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek

Készítette: Csatlós István 2010-ben

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Bevezetés a UNIX rendszerekbe

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A legfontosabb DOS parancsok

Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

Programozás alapjai 2 UNIX dióhéjban. Legfontosabb tulajdonságai. Legfontosabb tulajdonságai/2

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

AWK programozás, minták, vezérlési szerkezetek

Rendszerprogramozás Linux környezetben

Operációs rendszerek 1.

Legfontosabb tulajdonságai. Programozás alapjai 2 UNIX dióhéjban. Legfontosabb tulajdonságai/2. A UNIX rövid története.

Dr. Iszály György Barna

Munka állományokkal, könyvtárakkal I.

Programozás alapjai 2 UNIX dióhéjban

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Pere László Linux: felhasználói ismeretek I. Az alapok

1_Linux_bevezeto_bash

Youtube videó letöltés és konvertálás Linuxon

Hálózatok építése és üzemeltetése

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Legfontosabb tulajdonságai. Programozás alapjai II. UNIX alapok. Legfontosabb tulajdonságai/2. A UNIX rövid története. A UNIX rövid története/2

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Számítógépes alapismeretek

Operációs rendszerek gyakorlat

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

Számítógép Architektúrák. 2. Gyakorlat (shell és HTML alapok)

Linux bevezető (jegyzet)

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Bash Shell Programozás. 1. oldal

A shell vezérlő szerkezetei I.

AWK programozás Bevezetés

Operációs rendszerek MINB240/PMTRTNB230H

2016/06/09 13:15 1/108 Linux parancssor

Csatlakozás a pandora.inf.elte.hu-re Linux alapparancsok

S z á m í t ó g é p e s a l a p i s m e r e t e k

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

A perzisztens adatkezelő rendszer tesztelése és demonstrálása a GRID környezetben

Unix-Linux alapok II. gyakorlatvezető: Lutár Patrícia

es tanév őszi félév Tantárgyi követelményrendszer és programleírás

Occam 1. Készítette: Szabó Éva

Page 2. File vizsgálatok (test argumentumai) Logikai értelmű vizsgálatok. Feltételes végrehajtás. test argumentumainak logikai kombinációja

Átírás:

Számítógép architektúrák A burok A mai témáink A Unix sh (bash) burok Fontos Unix burok parancsok nevei A parancs, cső, lista fogalom Adatfolyam átirányítás Fájlnév behelyettesítés Metakarakterek semlegesítése Burok adatszerkezetek, változó definiálás, változó behelyettesítés, érvényesség, környezet Vadász, 2006. 2 A Unix Nagyon elterjedt, több processzes, időosztásos, általános célú OS Sok könyv, ismertető (hivatkozások az ütemtervben, jegyzetben) Parancsnyelvi kapcsolattartói (burkok): Bourne shell sh $ Korn shell ksh $ C shell csh % TC shell tcsh % Bash bash $ (Bourne Again Shell) Vadász, 2006. 3 1

Unix filozófia Mások munkájára építs! Ezt segítik a következő koncepciók: processz általában az stdin-ről olvas, stdout-ra (stderr-re) ír; a parancsok is! A standard adatfolyamok átirányíthatók. Csővezeték képezhető. Szűrők használhatók. Sok segédprogram (utility) létezik Sok daemon processz szolgáltat. $ cat txt $ cat >txt $ grep vmi <txt wc Vadász, 2006. 4 Honnan tanulhatunk? Könyvekből, az Orlando iskolából, insight-ból az Irixben, info-ból az AIX-ben stb. Az on-line kézikönyvből: > man [-opc] [section] lap Tanácsok: Tudni kell angolul olvasni! Fontos parancsok nevét pontosan tudni! Parancs-kártya a fontos parancsok nevével! Vadász, 2006. 5 Parancsok: editorok ed sororientált vi (vim) képernyő orientált mcedit képernyő orientált pico, nano egyszerű, sok helyen joe stb. (vt100 kell) Vadász, 2006. 6 2

Parancsok: kiírók cat összefűz, stdout-ra pr nyomtat, stdout-ra head fájl első sorait, stdout-ra tail fájl utolsó sorait more lapokra tördelő szűrő od oktális ömlesztés (dump ) Vadász, 2006. 7 Parancsok: jegyzékekkel kapcsolatban ls jegyzék tartalom lista (dir helyett) mkdir jegyzék készítés rmdir jegyzék törlés cd munkajegyzék váltás pwd munkajegyzék lekérdezés chmod fájl védelmi maszk váltás (Nemcsak jegyzékre) chown fájl tulajdonos váltás (Nemcsak jegyzékre) file fájl típus lekérdezés (Nemcsak jegyzékre) Vadász, 2006. 8 Parancsok: másolások, mozgatások cp copy, másolás mv move, mozgatás (rename helyett is!) ln (link) "linkel" rm (unlink) "linket" töröl, remove: file törlés find keres fájlt egy fán és csinál is valamit (bonyolult, de nagyon hasznos!) Vadász, 2006. 9 3

Parancsok: állapotlekérdezések ps processzek listája file, ls, pwd ld. fönn date dátum, idő lekérdezés who, w, rwho, rusers ki van bejelentkezve? rup mely rendszerek élnek? top erőforrás használat csúcsok osview, vmstat erőforrás használat last utolsó bejelentkezések uptime mióta fut a rendszer? Vadász, 2006. 10 Parancsok: állapotlekérdezések 2 finger ki kicsoda? passwd, yppasswd jelszóállítás chsh, chfn, ypchpass név, induló burok stb. beállítás ypcat NIS (yellow pages) adatbázis lekérdezés ldapsearch LDAP adatbázis lekérdezés xhost X11 munka engedélyezése set környezet (environment) lekérdezése du, df, quota diszk, fájl használat Vadász, 2006. 11 Parancsok: processz indítás, vezérlés sh, csh, ksh, tcsh, bash shell indítás exec processz indítás kill processz "megölése", szignálküldés sleep processz altatása wait processz várakoztatás at processz indítása egy adott időpontban nohup kilépéskor ne ölje meg test kifejezés tesztelése Vadász, 2006. 12 4

Parancsok: processz indítás, vezérlés 2 expr kifejezés kiértékeltetése if, case, for, do while vezérlő szerkezetek break, continue vezérlő szerkezetek echo argumentumai visszaírása (meglepően hasznos valami) mplayer (video lejátszó) xmms, aumix (audio lejátszás) Vadász, 2006. 13 Parancsok: kommunikáció ssh, telnet, rlogin, rsh kapcsolatlétesítés rwho, rusers, finger lásd állapotlekérdezések write üzenet konzolokra talk, xtalk interaktív "beszélgetés" mail, mutt, pine, mozilla-thunderbird e-mail ftp, scp fájl átvitel lynx, w3m, firefox, netscape WWW böngésző (kliens) Vadász, 2006. 14 grep awk, nawk wc sed cut Parancsok: hasznos szűrők mintakereső mintakereső feldolgozó sor, szó, karakterszámláló áradatszerkesztő mezőkivágó tail, head, more egyfajta kiírók sort rendező Vadász, 2006. 15 5

Parancsok: tanuljunk man on-line kézikönyv lap lekérdezés apropos kézikönyvben kulcsszó (ha van) whereis hol van egy parancs whatis man lap leírás xman X11-es kézikönyv (grafikus) Vadász, 2006. 16 A burok (sh) kifejezés kettős értelme A burok egyrészt parancsértelmező processz, másrészt egy programnyelv. Mint processz: a /bin/sh betölthető, futtatható program egy futási példánya Mint programnyelv: egy szövegfájl, ami parancsokat (esetleg beleértett input sorokat) tartalmaz, és odaadható a burok processznek, hogy futtassa Vadász, 2006. 17 A burok processz Önálló entitás, azonosítója a pid (process identification number) A /bin/sh (vagy /bin/bash) program fut benne Van 3 nyitott adatfolyama A 0 leírójú stdin (szabványos bemenet), ahonnan a parancsokat, csöveket, parancslistákat olvassa. Az 1 leírójú stdout (szabványos kimenet), ahová az eredményeit írja. A 2 leírójú stderr (szabványos hibakimenet), ahová a hibaüzeneteit írja. A nyitott adatfolyamok szokásos módon eszközökhöz vannak kapcsolva Vadász, 2006. 18 6

A burok processz működése Az stdout csatornájára kiírja a készenlét jelet (prompt), jelezve, hogy parancsot, csövet, parancslistát vár Az stdin csatornáján parancsot, csövet, parancslistát olvas be, Azt elemzi, értelmezi, átalakítja, majd végrehajtja, vagy végrehajtatja. A végrehajtás eredményét az stdout, ill. stderr csatornára írja, végül visszatérési értéket produkál. Vadász, 2006. 19 A visszatérési érték Lehet normális (0), lehet nem normális (nem 0), ennek oka többféle valami hiba van, nincs hiba, de szemantikailag van gond. (Pl. grep szűrő nem talál minta-egyezést, vagy test parancs tesztelése nem igaz.) A visszatérési értéket a programvezérlésben használhatjuk majd. Vadász, 2006. 20 Parancs, cső, lista A parancs fogalma Fehér karakterekkel határolt szavak sora első szó a parancs neve, többi szó az argumentumok. Az sh beolvassa, értelmezi, átalakítja, végrehajtja saját maga (belső p.), gyermek processzben (külső p.) Mindkét esetben van visszatérési értéke! Vannak szabványos adatfolyamok! Vadász, 2006. 21 Parancs, cső. lista 7

Egy példa parancsra > find. -name a.c -print ahol a szavak számozása 0 1 2 3 4 Azaz a fenti parancs 5 szóból áll. Vegyük észre, hogy a burok promptja nem része a parancsnak! Inputot nem kíván, outputja (esetleges hibaüzenetei is) a képernyőre megy. Vajon mi a visszatérési értéke? És ez? > find. -name a.c -print >myfile.txt Vadász, 2006. 22 Parancs, cső. lista A csővezeték fogalma A csővezeték (pipe) parancsok sora operátorral összekötve: parancsbal parancsjobb Szemantikája: végrehajtódik a parancsbal, szabványos kimenete egy csőbe képződik, majd végrehajtódik a parancsjobb, aminek szabványos bemenete erre a csőre képződik. A cső visszatérési értéke: a parancsjobb visszatérési értéke. A parancs degenerált cső. Példa: > ypcat passwd grep kovacs Vadász, 2006. 23 Parancs, cső. lista A parancslista Csővezetékek sora listaoperátorral összekötve: csőbal op csőjobb Listaoperátorok: && # magasabb precedencia, de alacsonyabb mint a & ; \n # alacsonyabb precedencia A szemantika: ; \n soros végrehajtása a csöveknek & aszinkron végrehajtás (csőbal háttérben) && folytatja a listát, ha csőbal normális visszatérésű folytatja a listát, ha a csőbal nem normál visszatérésű Vadász, 2006. 24 Parancs, cső. lista 8

Parancslisták A lista visszatérési értéke az utolsó cső visszatérési értéke. Háttérben futó cső visszatérési értéke különlegesen kezelhető. A cső degenerált lista (ahol ezentúl listát írunk, írhatunk csövet, sőt parancsot is!) A && és operátoros listáknál először láthatjuk a visszatérési érték értelmét! Valóban a vezérlés menetét befolyásoljuk! Vadász, 2006. 25 Parancs, cső. lista Példák > cd ide && rm junk # csak akkor töröl, ha... > ls ide cp valami ide # ha nincs ide, készíti Nézzük, magyarázzuk ezt! > ( mv a tmp && mv b a ) && mv tmp b Vadász, 2006. 26 Parancs, cső. lista Háttérben futtatunk > myprog 1 2 & 125 > Mi a különbség? Példák > echo valami echo valami valami echo valami > echo valami; echo valami valami valami Vadász, 2006. 27 Parancs, cső. lista 9

Az adatfolyamok átirányítása Mielőtt a lista/parancs végrehajtódik, az sh nézi, vane átirányító operátor > >> < a szavakban (szavak előtt). (A << különleges!) Ha ilyeneket talál, szeparált processz(eke)t készít, azokban az adatfolyamokat fájlokba(ból) képzik le, majd abban hajtják végre a listát/parancsot. (Csőnél is szeparált processz!) A szeparált processz(ek)nek átadja a maradék argumentumokat. Vadász, 2006. 28 Az átirányító operátorok < file # file legyen az stdin > file # file legyen az stdout, rewrite >> file # file legyen az stdout, append <<[-]eddig # here document, beágyazott input Példa: > mypr < innen > ide elso masodik 0 1 2 > exec >outfile 2>errorfile # szkriptben Vadász, 2006. 29 Fájlnév kifejtés (behelyettesítés) Argumentumokban használt metakaraktereket (közöttük a dzsókereket: *? [ ]) a burok a lista/parancs végrehajtása előtt különlegesen kezeli. Ha a szavakban dzsókereket talál, azt a szót mintának (pattern) veszi. A minta behelyettesítődik alfabetikus sorrendű fájlnevek listájává, olyan nevekre, melyek a fájlnév-térben illeszkednek a mintára. Csak ezután hajtódik végre a parancs/lista. Vadász, 2006. 30 10

Az illeszkedés Szokásos karakter önmagára illeszkedik A? egyetlen, bármely karakterre illeszkedik. A * tetszőleges számú, tetszőleges karakterre illeszkedik. A [...] illeszkedik egyetlen, valamelyik bezárt karakterre. A [!...] illeszkedik egyetlen, bármely, kivéve a! utáni karakterre. stb., nézz utána! Vadász, 2006. 31 Példák Tegyük fel, az aktuális jegyzékben van 4 fájl: a abc abc.d xyz > ls * # ls a abc abc.d xyz > ls a* # ls a abc abc.d > ls [a]?? # ls abc > ls [!a]?? # ls xyz Vegyük észre, előbb megtörténik a behelyettesítés, csak azután hajtódik végre az ls parancs! Vö: > rm * és DOS> DEL * Vigyázz: > echo * Vadász, 2006. 32 A metakarakterek semlegesítése Ezeket az sh kifejti, ezek miatt a parancsot átalakítja. Ha mégis szükségünk van ezekre a parancshoz, (pl. szűrőnek kellenek) semlegesítsük (quotázzuk) őket! Egyetlen karakter semlegesítése: \kar Több karakter semlegesítése: karaktersor # minden bezárt semlegesített. karaktersor # a paraméter és parancsbehelyettesítésen kívül (lásd később) minden semlegesített. Vadász, 2006. 33 11

Példák $ a=valami $ echo $a valami $ echo $a $a $ echo *$a *valami $ Vadász, 2006. 34 A shell adatszerkezetei Típusuk: szöveglánc (füzér). Csak numerikus karakterekből álló szöveglánc néha numerikus adatként viselkedhet: numerikus operációk hajthatók rajtuk végbe. Lehetnek: Változók: ekkor van nevük, van pillanatnyi értékük. (Változó vagy paraméter?) Konstansok: szövegkörnyezetből adódnak (lexikális szöveg-konstansok). Vadász, 2006. 35 A változók A burok által definiált változók: nevüket nem mi választjuk meg. Lehetnek: pozícionális változók (paraméterek), egyéb a shell által definiált (speciális) változók. A felhasználók által definiált változók (nevüket kiválaszthatjuk): a rendszergazda által definiáltak: konvencionális nevek! Az egyes felhasználók által definiáltak: legyenek itt is konvencióink! Vadász, 2006. 36 12

A pozicionális paraméterek Nevük: 0 1 2 3 4 5 6 7 8 9 Pillanatnyi értékük: az aktuális argumentumok (a szavak) Emlékezz: a 0. szó a parancs neve: a 0 nevű változó pill. értéke, az 1. szó az 1. argumentum: az 1 változóban van. Annyi változó definiált, ahány szó van! Ha 9-nél több argumentum van: a shift paranccsal eltolhatók, így kezelhetők! Vadász, 2006. 37 Néhány, a shell által definiált változó Neve #? $! - * 0 Értéke A pozícionális paraméterek száma Az utolsó parancs visszatérési értéke A burok processz pid-je Az utolsó háttérben futó proc. pid-je A burok opciók A pozícionális paraméterek szólistája A parancs neve Kifejtése $# $? $$ $! $- $* $0 Vadász, 2006. 38 Néhány, a rendszer által szokásosan definiált, exportált változó Neve HOME MAIL PATH USER IFS TERM Értéke A bejelentkezési jegyzék A levelezési fájlunk Parancsok keresési ösvénylistája A felhasználó neve A burok opciók A terminál típusa Kifejtése $HOME $MAIL $PATH $USER $IFS $TERM PS1 Az elsődleges prompt $PS1 Vadász, 2006. 39 13

Változódefiniálás Szintaxis $ valtozo=fuzerkifejezes [valtozo=fuzerkifejezes] Példa: $ tmpfile=/tmp/valami $ ures= Vigyázz! A következő nem jó! Miért? $ valtozo = fuzerkonstans (Mert ez már 3 szó! Tilos a fehér karakter az = előtt és után!) Vadász, 2006. 40 Hivatkozás a változókra, kifejtésük A kifejtő operátor a $ $valtozo kifejtődik. Pl.: $tmpfile /tmp/valami Néha szükséges lehet az egyértelműsítéshez: ${valtozo} Pl: $ val=valaki; valaki=senki $ echo $valaki senki $ echo ${val}aki valakiaki Vadász, 2006. 41 $ val=valaki; echo $val valaki Példák $ val= echo valami $ $val valami Írjuk ki az aktuális jegyzék tartalmát ls nélkül $ val=*; echo $val a ab abc f1 f2... Vadász, 2006. 42 14

A teljes változókifejtés Itt: valt változónév, szo szövegkifejezés, parancs. Ha a : (colon) hiányzik, a 0 string-hosszúság nem ellenőrződik! ${valt:-szo} ${valt:=szo} ${valt:?szo} ${valt:+szo} Ha a valt definiált és nem 0 sztring, akkor kifejtődik. Különben a szo fejtődik ki. Ha a valt nem definiált vagy 0 sztring, akkor felveszi a szo-t. Ezután a valt kifejtődik. Ha a valt definiált és nem 0 sztring, akkor kifejtődik. Különben kiíródik a szo default sztr. Ha a valt definiált és nem 0 sztring, akkor kifejtődik a szo. Különben semmi sem fejtődik ki. Vadász, 2006. 43 Parancsbehelyettesítés A parancsok szokásosan az stdout-ra írnak. A ` ` (grave accent) közé zárt parancs fut és kimenete kifejtődik! Példa: $ valt=`wc -l < myfile.txt` # a valt felveszi # a sorok számát $ test `wc -l < myfile.txt` -gt 3 && cat myfile.txt # ha több mint 3 sorból áll, írja ki Vadász, 2006. 44 A változók érvényességéhez: a processzek környezete Minden processznek - így a buroknak is - van környezete (environment) A környezet: vált=szöveglánc sorokból álló tábla Gyermek processz a környezetet örökli a szülőtől Mikor az sh processz indul, végigolvassa a környezetét és definiálja a benne található változókat További definíciók is lehetnek az sh életében, átdefiniálások is lehetnek. Ezek nem kerülnek a környezetbe (nem örökölhetők) Vadász, 2006. 45 15

Exportálás: többszintes öröklődés Exportálással változót a környezetbe teszünk (ezzel lefelé öröklődővé tesszük) > export változónév-lista Pl. a rendszergazda valahol leírta : $ export MAIL HOME PATH... Exportálással csak leszármazottak örökölhetnek (fölfelé nem) Nem exportált változó nem látható a leszármazott processzekben, de visszatérve abba a burokba, amiben definiáltuk újra láthatóvá válik Vadász, 2006. 46 16