BASH shell: Difference between revisions
Line 14: | Line 14: | ||
==Teemad== | ==Teemad== | ||
[http://enos.itcollege.ee/~mernits/skriptimine/Skriptimiskeeled%20-%20Loeng01%20-%20BASH%20alused.odp Loeng 01 - BASH alused] | [http://enos.itcollege.ee/~mernits/skriptimine/Skriptimiskeeled%20-%20Loeng01%20-%20BASH%20alused.odp Loeng 01 - BASH alused] | ||
*Bashist üldisemalt | *Bashist üldisemalt | ||
**Mis on Bash ja kest (shell) | **Mis on Bash ja kest (shell) | ||
Line 34: | Line 28: | ||
**Eritähendusega sümbolid (metacharacters, escaping characters, wildcards) | **Eritähendusega sümbolid (metacharacters, escaping characters, wildcards) | ||
**Ühekordsete- ja kahekordsete jutumärkide erinevus | **Ühekordsete- ja kahekordsete jutumärkide erinevus | ||
**Keskkonnamuutujad ja parameetrid | **Keskkonnamuutujad ja parameetrid | ||
**Käskude asendamine (command substitution) | **Käskude asendamine (command substitution) | ||
**Sisendi lugemine ja interaktiivsed skriptid | **Sisendi lugemine ja interaktiivsed skriptid | ||
Line 50: | Line 44: | ||
**Regulaaravaldised | **Regulaaravaldised | ||
**Massiivide kasutamine | **Massiivide kasutamine | ||
[http://enos.itcollege.ee/~mernits/skriptimine/Skriptimiskeeled%20-%20Loeng02%20-%20BASH%20alused.odp Loeng 02 - BASH alused ja kodutööd] | |||
*Enim levinud utiliidid ja nende kasutamine Bashi skriptis (echo, cat, cut, wc, sed, awk, mv, cp, mkdir, ls, file, head, uniq, tail, jne) | *Enim levinud utiliidid ja nende kasutamine Bashi skriptis (echo, cat, cut, wc, sed, awk, mv, cp, mkdir, ls, file, head, uniq, tail, jne) | ||
*Protsessid ja nende käivitamine (ps, pstree, top, &) | *Protsessid ja nende käivitamine (ps, pstree, top, &) |
Revision as of 12:55, 19 December 2010
GNU/Linux operatsioonisüsteemi haldamise automatiseerimine Bashi skriptimiskeele abil
Lühitutvustus
Bash (Bourne-again shell) on maailmas üks enim levinud koorikuid (shell), mille jaoks kirjutatud skriptidega on võimalik süsteemide tööd automatiseerida ja lihtsustada. Lühidalt vaadeldakse keele ülesehitust ja kasutusvõimalusi. Pikemalt keskendutakse konkreetsete administreerimisülesannete lahendamisele Bashi skriptimiskeele abil.
Eesmärk
Anda oskused Bashi skriptimiskeele kasutamiseks süsteemihalduri igapäevatöö lihtsustamise ning efektiivsemaks muutmise eesmärgil.
Eelteadmised/eeldused
Varasem kokkupuude GNU/Linux operatsioonisüsteemiga ning sealjuures omandatud oskused, mille taset kontrollitakse automatiseeritud enesetestiga.
Eelteadmiste kontrolliks tasub sooritada enesetest
Sihtgrupp
Tugitehnikud ja süsteemihaldurid.
Teemad
- Bashist üldisemalt
- Mis on Bash ja kest (shell)
- Bashi skriptide loomine
- Bashi skriptide käivitamine
- Bashi konfiguratsioonifailid
- .bash_profile: .bash_login ja .profile
- .bashrc
- .bash_logout
- /etc/profile, /etc/profile.d/
- Bashi käskude ajalugu failis .bash_history
- Bashi süntaksist
- Kommenteerimine
- Eritähendusega sümbolid (metacharacters, escaping characters, wildcards)
- Ühekordsete- ja kahekordsete jutumärkide erinevus
- Keskkonnamuutujad ja parameetrid
- Käskude asendamine (command substitution)
- Sisendi lugemine ja interaktiivsed skriptid
- Staatuskoodid
- Stringitöötlus
- Mitu käsku ühel real
- Piping
- Tingimuslaused (if-else, case)
- Tsüklid (for, while, until, select)
- Stringi kontrollid (suurem, võrdne, väiksem)
- Faili omaduste ja olemasolu kontrollid
- Sisendi ja väljundi sunamine ekraanile ja/või faili (stdin, stdout)
- Funktsioonid
- Aritmeetilised operatsioonid, ümardamine
- Regulaaravaldised
- Massiivide kasutamine
Loeng 02 - BASH alused ja kodutööd
- Enim levinud utiliidid ja nende kasutamine Bashi skriptis (echo, cat, cut, wc, sed, awk, mv, cp, mkdir, ls, file, head, uniq, tail, jne)
- Protsessid ja nende käivitamine (ps, pstree, top, &)
- Shelli skripti vigade otsimine ja parandamine
Näidisülesanded
- Arvutusülesanded
- Stringimanipulatsioonid
- Ülesanded failidega
- Skripti kirjutamine, mis näitab erinevaid süsteemi konfiguratsioone, näiteks sisse loginud kasutajaid, operatsioonisüsteemi versiooni, muutmälu informatsiooni, külge haagitud kettaid jne
- Hangunud protsesside peatamine ja teenusele alglaadimise tegemine
- Skripti loomine, mis lisab DNSi kirje BIND andmebaasi koos vaikimisi nimeserverite ja e-maili serveritega (MX kirjed)
- Failinimede konverteerimine väikestest suurteks tähtedeks
- Etteantud mustrile vastavate stringide automaatiseeritud muutmine failis
Sendmaili saatmisjärjekorras olevate failide seast suurimate leidmine