Szkriptnyelvek. 1. UNIX shell



Hasonló dokumentumok
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

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

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

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

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.

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

BASH SCRIPT SHELL JEGYZETEK

chmod umask chown, chgrp

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

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

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


Komputeralgebra Rendszerek

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

6. BASH programozás I.

Rendszerprogramozás Linux környezetben

Operációs rendszerek 1.

Operációs rendszerek gyak.

Gyors tippek linuxra

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

Operációs rendszerek MINB240/PMTRTNB230H

PYTHON. Avagy hosszú az út a BioPythonig

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

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

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

Operációs rendszerek gyak.

Szkriptnyelvek II. Perl programok

A C# programozási nyelv alapjai

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

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

A shell vezérlő szerkezetei I.

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

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

C programozási nyelv

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

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

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

Operációs Rendszerek II. labor alkalom

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

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

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

A sed folyamszerkesztő

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

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

A programozás alapjai

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

Algoritmizálás és adatmodellezés tanítása 1. előadás

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

A JavaScript főbb tulajdonságai

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

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

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

Imperatív programozás

Operációs rendszerek 1.

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

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

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

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

C programozás. 1 óra Bevezetés

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

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Webprogramozás szakkör

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

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

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

Informatika terméktervezőknek

Python tanfolyam Python bevezető I. rész

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

Programozás II. 2. Dr. Iványi Péter

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

Programozási nyelvek JAVA EA+GY 1. gyakolat

Kifejezések. Kozsik Tamás. December 11, 2016

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

A sed folyamszerkesztő

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

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

Komputeralgebra rendszerek

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

Komputeralgebra rendszerek

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

Java II. I A Java programozási nyelv alapelemei

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

3. Gyakorlat Ismerkedés a Java nyelvvel

Vezérlési szerkezetek

Operációs Rendszerek Gyakorlat

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

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

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

Konzolalkalmazások gyors tesztelése

A C programozási nyelv I. Bevezetés

Mintavételes szabályozás mikrovezérlő segítségével

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Átírás:

Szkriptnyelvek 1. UNIX shell

Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash

Szkriptek futtatása > sh osszeg.sh 2 3 > 2 + 3 = 5 >./osszeg 2 3 > 2 + 3 = 5 A program kódjában az els ő sor a #! karakterekkel kezdődik, ezután áll a parancsértelmez ő elérési úttal. p.: /bin/sh

Jogok A futtatás elengedhetetlen feltétele a futtatási jog. A jogokat a chmod parancs segítségével állítjuk be. > chmod jogok file neve > chmod 700 osszeg.sh A 700 jog azt jelenti, hogy a tulajdonos minden jogosultsággal rendelkezik (rwx) a csoprtnak és a világnak egyáltalán nincs joga a fájlhoz.

Jogok R = 4 W = 2 X = 1 A fentiek alapján a 754 jog pl. azt jelenti, hogy a tulajdonos irási, olvasási és futtatási, a csoport olvasási és futtatási, a világ csak olvasási jogokkal rendelkezik. A jogok érvényesítése: chmod 754

A Shell szkript belülről UNIX parancsok mindegyike (ls,echo,...) bels ő shell parancsok (...) beépített változók ($#,$1,...) definiált változók (A=2,B=5) Operátorok (==,eq,gt,...) Függvények (...) Küls ő programok

Változók SZOVEG = szöveg szöveg ERTEK = 10 A = ERTEK + SZOVEG VAR1 = az eredmény = $A Echo $VAR1 FIGYELEM: echo A hibás, ebben az esetben a rendszer az A t nem változónak kezeli, mivel nem írtunk elé $ jelet. A helyes eljárás, ha értékadásnál nem, minden más esetben használjuk a $ jelet.

Parancssori paraméterek A parancssori paramétereket szóközzel elválasztva adjuk meg. Ha a paraméter maga is tartalmaz szóközt, akkor azt idézőjelek közé tesszük. A paraméterekre hivatkozhatunk $i szimbólummal, ahol az i a paraméter sorszáma. A $0 paraméter a program neve. pl.: teszt.sh esetén a $0 = teszt.sh

Parancssori paraméterek $# Az argumentumok száma (parancssori paraméterek) $ A szkriptet végrehajtó shellnek átadott opciók $? A legutolsó parancs visszatérési értéke $$ A futó szkript processzeinek száma $! A háttérben utoljára végrehajtott parancs processzeinek száma $n az n edik argumentum értéke (max. 9 lehetséges, ezután shift)

Parancssori paraméterek $0 Az aktuális shell, vagy program neve $* Az összes argumentum egyben ($1,$2,..,$n; n max. 9 lehet) $@ Az összes parancssori argumentum egyben, de az előzőtől annyiban különbözik, hogy itt az argumentumok egyesével, idézőjelben vannak.

Shell bels ő változói HOME a felhasználó home könyvtára LANG nyelvi beállítás, pl.: hu MAIL a beérkez ő levelek helye, pl.: /var/spool/mail IFS azon karakterek listája, melyet a shell szeparátorként értelmez SHACCT ha van értéke, ebbe a fájlba ír egy üzenetet a shell minden program végrehajtásakor

Operátorok Op1 eq Op2: == Op1 ne Op2:!= Op1 gt Op2: > Op1 ge Op2: >= Op1 lt Op2: < Op1 le Op2: <= pl.: if ( $V1 ne $V2)...

Idézőjelek használata '...' Teljes elzárás, nincs változó kiértékelés... A shell behelyettesíti a számára értelmezhet ő változókat, paramétereket, de egyben tartja a szöveget pl.: A = 2; B = 3; echo $A + $B és 2 esetén az eredmény: 2 + 3 és 2, míg echo '$A + $B és 2' esetén az eredmény: $A + $B és 2 Kifejezéseket egyik esetben sem értékel ki!

Programok szervezése Feltételes utasítások, elágazások if test && függvények

Feltételes elágazások Kifejezés && ut1 ut2 A kifejezés egy, vagy több művelet. Ha a végrehajtás sikeres, akkor ut1 fut, ha nem akkor ut2. Pl.: ls /bin && echo ok echo no

Teszt Test logikai kifejezés [logikai kifejezés] true, vagy false értékkel tér vissza shell szkriptekben alkalmazható

Feltételes elágazások If [ Kifejezés1 ] then utasítások elif [ kifejezés2 ] then utasítások else utasítások fi

Feltételek kiértékelése A shell a kifejezés1 et értékeli ki, ha igaznak találja, akkor végrehajtja az utasításait Az elif ágakat az if then ág után értékeli ki, majd az els ő találat utasításait hajtja végre. Ha nem teljesül egyik kifejezés sem, akkor az else ág hajtódik végre. Elif ágból lehet több is.

Case elágazás case string0 in string1) utasítások;; string2) utasítások;; *) utasítások;; esac A string0 lehet szabályos kifejezés is. Ha nincs találat, akkor a * ág fut, ha nincs ilyen, akor átugorjuk a teljes case kifejezést.

Ciklusok (for) for ciklusváltozó in lista do utasítások done; A ciklusváltozó felveszi a lista értékeit. for I in *.dat do echo $I done;

Ciklusok (while) While [kifejezés] do utasítások done; A ciklus addig fut, míg a feltétele igaz. While [ $A gt 1] do echo $A done;

until [kifejezés] do utasítások done; Ciklusok (until) A ciklus addig fut, míg a feltétele igazzá nem válik. While [ $A eq 1] do echo $A done;

Függvénynév () { } parancsok; Függvények Paraméterek nem használhatóak, viszont a globális változóka használhatóak. A parancssori argumentumokhoz ($#,.., $1,$2,...,$9) nem férnek hozzá. Ezeket változókba kötve érheti el a subrutin.

Expr Kifejezések kiértékelése echo `expr $A + 2` echo `expr $A / 2` echo `expr $A \* 2` echo `expr $A 2` eval parancs végrehajtása A = eval változó A = `parancs` is működik vizsgálható a parancs kimenete...

Beágyazott file Cat << `marker' kiírandó szöveg marker Fájlba ágyazható más fájlok tartalma, ami automatikusan ki is csomagolódik touch file cat file << `m' szöveg a fájlban m cat file << `b' szöveg a fájlban b

AWK szerkezete Awk szkriptek Az AWK olyan szkript (szűrőként viselkedhet, vagyis illeszthet ő parancsok kimenetése), melybe komplex programokat írhatunk a megfelel ő szintaxis betartásával. Az AWK szkriptek futtatása hasonló a shell scriptekéhez. Az AWK beágyazható a shell szkriptekbe: cat /etc/passwd awk '...'

Awk szkriptek awk F Parameters 'BEGIN{ head} { main part } END{ tail }' [file or stream] command [args] awk '...' Pl.:awk 'END { print NR }' /etc/passwd awk 'NF > 0' /etc/passwd awk F ' ' MIT=$1 MIRE=$2 ' main part'