Bash quests 2013: Difference between revisions
Line 10: | Line 10: | ||
==Esimene== | ==Esimene== | ||
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p | Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p | ||
<source lang=bash> | |||
#!/bin/bash | |||
echo -n "Sisesta kataloogi täispikk tee:" | |||
read KATALOOG | |||
ls "${KATALOOG}" | |||
</source> | |||
[[User:Rohak|Rohak]] 14:28, 29 September 2013 (EEST) | |||
==Teine== | ==Teine== |
Revision as of 13:28, 29 September 2013
Sissejuhatus
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja. Kui quest valmis, siis pane link questi juurde (nagu näites) Queste tuleb pidevalt juurde.
Tunnis lahendatud näited
Mernits 14:26, 29 September 2013 (EEST)
Esimene
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p
#!/bin/bash
echo -n "Sisesta kataloogi täispikk tee:"
read KATALOOG
ls "${KATALOOG}"
Rohak 14:28, 29 September 2013 (EEST)
Teine
- Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p
Kolmas
- Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p
Mmust 14:28, 29 September 2013 (EEST)
#!/bin/bash
echo "Sisesta kataloogi nime "
read NIMI
$NIMI
cd $NIMI
ls -la
Quest 0 - Näide
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ
Lahendus: User:Mernits
Quest lukus (tehtud) Mernits 15:04, 24 January 2013 (EET)
Quest 1 - PATH (Quest lukus!)
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.
Tagastab 0 juhul kui kõik õnnestus.
Tagastab 1 kui kataloogi ei leitud.
Tagastab 2 kui argumentide arv ei klapi.
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit
Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti
Skript tagastab 2, kui 1-n vajalikest portidest on kinni
Skript tagastab 3, kui argumentide arv ei sobi
Skript tagastab 4, kui IP aadress pole sobiv
Kontrollib porte vahemikus 1-10000
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku
Quest lukus Mernits 16:04, 12 February 2013 (EET)
Quest 3 Lukus - tehtud
Quest on tehtud!
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.
Kataloogi nimi antakse ette käsurealt.
Skript tagastab 0, kui õigus on olemas.
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert
Quest tehtud Mernits 17:50, 3 March 2013 (EET)
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno
Quest 4 - Quest lukus - tehtud!
Quest on tehtud bashis! Mernits 22:31, 3 March 2013 (EET) Python lahenduse võib veel saata...
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.
Leitud failid kirjutatakse väljundisse.
Skript tagastab 0, kui täitmine õnnestus
Skript tagastab 1, kui kasutajat pole
Skript tagastab 2, kui kasutajal pole kodukausta
Muude vigade korral tagastab 3.
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno
Quest 5 - LUKUS!
Teha skript, mis teeb üks kord sekundis ekraanitõmmise
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne
Võib teha pythonis või bashis.
Pildivorming võib olla jpg, png või muu laialt levinud vorming.
Esimesed 3 erinevat lahendust saavad 10p!
Questi võib teha nii bashis, kui pythonis
Quest on lahti alates 09.aprill.2013
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)