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

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

1. Alapok. #!/bin/bash

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

Szkriptnyelvek. 1. UNIX shell

BASH SCRIPT SHELL JEGYZETEK

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

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

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

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.

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

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

Webprogramozás szakkör

Komputeralgebra Rendszerek

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

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

AWK programozás Bevezetés

A héj vezérlő szerkezetei I.

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

Operációs rendszerek gyak.

Internet programozása. 3. előadás

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

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

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

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

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

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

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

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

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. #!

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

A shell vezérlő szerkezetei I.

Operációs rendszerek MINB240/PMTRTNB230H


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

Óbudai Egyetem. C programozási nyelv

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Operációs rendszerek gyak.

Vezérlési szerkezetek

A C programozási nyelv II. Utasítások. A függvény.

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Szűrők, reguláris kifejezések AWK programozás: minták, vezérlési szerkezetek, tömbök, beépített függvények, reguláris kifejezések

Operációs rendszerek 1.

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

Apple Swift kurzus 3. gyakorlat

Informatika terméktervezőknek

A C# programozási nyelv alapjai

Programozási nyelvek Python

Java programozási nyelv

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

C programozási nyelv

A Python programozási nyelv

C programozás. 1 óra Bevezetés

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

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

Rendszerprogramozás Linux környezetben

Imperatív programozás

Programozási nyelvek (ADA)

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

Funkcionális Nyelvek 2 (MSc)

Imperatív programozás

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

1. Jelölje meg az összes igaz állítást a következők közül!

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Táblázatok fontosabb műveletei 1

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

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)

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Powershell 2. gyakorlat

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Excel 2010 függvények

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Algoritmizálás + kódolás C++ nyelven és Pascalban

Gyors tippek linuxra

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Objektumorientált Programozás III.

Operációs rendszerek 1.

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

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Szűrők Reguláris kifejezések, AWK

3. Gyakorlat Ismerkedés a Java nyelvvel

Programozás Minta programterv a 1. házi feladathoz 1.

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Programok értelmezése

Lekérdezések az SQL SELECT utasítással

Szkriptnyelvek II. Perl programok

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

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás

6. BASH programozás I.

Átírás:

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

Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van változó értékadás és változó értékére való hivatkozás között VARIABLE=10 $VARIABLE (vagy ${VARIABLE}) Jelölésbeli különbség van matematikai számítás elvégzése és ugyanennek az eredményére való hivatkozás között ((3+2)) $((3+2))

if Parancs végrehajtás if PARANCS ; then elif PARANCS ; then else fi A parancs exit status alapján értékeli ki ( $? ).

if - Logikai műveletek (1.) if [ FELTÉTEL ] ; then elif [ FELTÉTEL ] ; then else fi!! [ ] zárójel előtt, után KELL a SZÓKÖZ!!!! FELTÉTEL megadása csak speciális kapcsolókkal lehetséges!! Hagyományos módon (>) átirányítás fog történni!!

Feltételes kifejezések Numerikus összehasonlítás: KIF1 -eq KIF2 (equal ~ egyenlő) KIF1 -ne KIF2 (not equal ~ nem egyenlő) KIF1 -lt KIF2 (less than ~ kisebb mint) KIF1 -le KIF2 (less or equal than ~ kisebb egyenlő) KIF1 -gt KIF2 (greater than ~ nagyobb mint) KIF1 -ge KIF2 (greater of equal than ~ nagyobb egyenlő) Logikai kifejezések: [ KIF1 -a KIF2 ] (and) [ KIF1 -o KIF2 ] (or) [! KIF1 ]

Feltételes kifejezések Szöveges összehasonlítás (a KIF helyére string/szöveg kerül) KIF1 == KIF2 KIF1!= KIF2 -z KIF (üres szó) -n KIF (nem üres szó) Állományok jellemzőinek a vizsgálata (a KIF helyére egy állomány neve kerül): -e KIF (exists ~ létezik), -d KIF (directory ~ létezik és könyvtár), -f KIF (file ~ létezik és közönséges állomány), -L KIF (létezik és szimbolikus link) -r, -w, -x KIF olvasási, írási és végrehajtási jog az aktuális felhasználó szemszögéből -O, -G KIF tulajdonos, csoport megegyezik-e az aktuális felhasználóval -s KIF (nem üres fájl) KIF1 -nt KIF2 (newer than ~ újabb mint) KIF1 -ot KIF2 (older than ~ régebbi mint)

if - Logikai műveletek (2.) if (( FELTÉTEL )) ; then elif (( FELTÉTEL )) ; then else fi

Feladat Az első két paraméterként kapott szám közül írjuk ki a maximális értékűt (mindkétféle if jelöléssel próbáljuk ki). Az első két paraméterként kapott fájlról, döntsük el, hogy melyik az újabb. Majd az újabbról írjuk ki, hogy mappa, vagy közönséges fájl-e.

for (lista alapú) lista bejárása: for VÁLTOZÓ in LISTA; do done LISTA megadása: szöveg felsorolva szóközzel elválasztva mintaillesztéssel fájlok listája $() beágyazott parancs kimenete (ami szóközös vagy több soros kimenetű) változóhivatkozás (olyan változó, ami szóközös vagy többsoros tartalommal rendelkezik) Feladat: próbáljuk ki az összeset

for (index alapú) index alapú for: N=10 for (( i=0; i<=$n; i++ )); do done ritkábban fogjuk használni! Tetszőleges ciklusnál használható: a break, continue és az exit

while, until while [ FELTÉTEL ]; do done vagy másképpen while (( FELTÉTEL )); do done ehhez hasonlóan létezik until vezérlési szerkezet (amíg nem teljesül a feltétel)

while végtelen ciklus while true ; do if [ FELTÉTEL ] ; then fi done break;

Feladatok A paraméterként megadott állományok közül számoljuk össze a közönséges állományokat (az összes paraméter listája: $*) Az eredményt egy fájlban tároljuk ++ Ugyanezt while ciklussal, de ne paraméterről várjuk az állományokat, hanem standard bemenetről olvassuk be őket, egészen addig amíg q vagy quit kulcsszót nem ír be a felhasználó