<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ikrustok</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ikrustok"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Ikrustok"/>
	<updated>2026-05-06T02:43:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33394</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33394"/>
		<updated>2011-05-30T16:48:57Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: /* Quest lahendus 38 skript etteantud faili muutmisaega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Quest lahendus 38 skript etteantud faili muutmisaega [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Luua skript, mis muuda etteantud faili muutmisaega &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fail=$1&lt;br /&gt;
if [ -f $fail ]&lt;br /&gt;
then&lt;br /&gt;
    echo &amp;quot;Sisesta faili uus kuup2ev kujul! (yyyymmdd)&amp;quot;&lt;br /&gt;
    read date&lt;br /&gt;
    echo &amp;quot;Sisesta faili uus muutmiskellaaeg! (hhss)&amp;quot;&lt;br /&gt;
    read kell&lt;br /&gt;
    `touch -mt ${date}${kell} ${fail}`&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil,&lt;br /&gt;
#prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=33393</id>
		<title>Bash quests</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=33393"/>
		<updated>2011-05-30T16:25:37Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: /* Quest 38 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 10:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - Leia suured kaustad oma kodukataloogist=&lt;br /&gt;
&lt;br /&gt;
Probleem: Kodukaustast on vaja leida suured kataloogid ja teada, palju nendele ruumu kulub.&lt;br /&gt;
&lt;br /&gt;
Luua skript suuredkaustad.sh&lt;br /&gt;
&lt;br /&gt;
Väljasta kataloogid suuremad kõige alla kujul:&lt;br /&gt;
&lt;br /&gt;
20MB  Allalaadimised&lt;br /&gt;
&lt;br /&gt;
100MB Dokumendid&lt;br /&gt;
&lt;br /&gt;
hint: &#039;&#039;&#039;du -s * | sort -nr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Kakukk|Katrin Kukk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 16:27, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 2=&lt;br /&gt;
Teha skript, mis taastab poolelijäänud tarkvarapaigalduse (apt-get baasil)&lt;br /&gt;
&lt;br /&gt;
Kui näiteks kasutaja tahab midagi installeerida ja talle öeldakse, et eelmine install jäi pooleli (vool läks ära või mis iganes), siis viidaks installeerimine/konfigureerimine lõpuni.&lt;br /&gt;
&lt;br /&gt;
Bashi lahendus: [[User:Hvosujal]]&lt;br /&gt;
&lt;br /&gt;
Pythoni lahendus: [[User:Hvosujal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 13:37, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 3=&lt;br /&gt;
Teha skript, mis eemaldab vanad kernelid (jätab alles kaks viimast). Tulemuseks on grub2 menüüs näha kahe viimase kerneli ridu ja vanade kernelite arvelt hoitakse kettaruumi kokku.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:otuur]]&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Metamm]] - Parandatud 16.05 14:24&lt;br /&gt;
   Rpm eemaldust kasutades ubuntu 10.10&#039;ga saab teate &amp;quot;head: unrecognized option &#039;--1&#039;&amp;quot;&lt;br /&gt;
   peale seda teavitatakse, kasutajat, et skript kustutas kõik kernelid peale kahe viimase, ometi seda ei toimunud. Dpkg eemaldus toimib.&lt;br /&gt;
   Olle Tuur 13.05.2011 21:38&lt;br /&gt;
&lt;br /&gt;
   Parandasin Olle välja toodud vea, nüüd skript kontrollib, kas kasutajal ikka on see paketihaldur olemas, millega skripi käivitab.&lt;br /&gt;
   Olle skript töötab dpkg paketihalduriga linuxites (N: Ubuntu, Debian) ilusti.&lt;br /&gt;
   Aga Fedoras, kus on kasutusel rpm paketihaldur ei saa kasutada apt-get remove kernelite eemaldamiseks&lt;br /&gt;
   Meelis Tamm 16.05.2011 14:30&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 10:26, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 4=&lt;br /&gt;
Teha skript, mis ühendab lahti kõik kettajaod/saalealad etteantud kettalt ja kustutab partitsioonid sellelt kettalt.&lt;br /&gt;
&lt;br /&gt;
Skript peab kasutajat hoiatama, et eemaldatakse see ja too kettajagu.&lt;br /&gt;
&lt;br /&gt;
Skript annab vea, kui lahtiühendamine ei õnnestu.&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas kasutajal on piisavalt õiguseid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine: trash.sh &amp;lt;kettas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
näiteks: trash.sh /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Uluuk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 12:12, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 5=&lt;br /&gt;
Teha shell funktsioon, mis kontrollib faili olemasolu ja sellele antud õiguseid&lt;br /&gt;
&lt;br /&gt;
Näiteks on fail rwxrwxrwx /var/kala.txt&lt;br /&gt;
&lt;br /&gt;
funktsioon välja kutsudes argumentidega  /var/kala.txt 777 tagastatakse 0&lt;br /&gt;
Teistel juhtudel:&lt;br /&gt;
1 - faili pole&lt;br /&gt;
2 - omanikul on valed õigused&lt;br /&gt;
3 - grupil on valed õigused&lt;br /&gt;
4 - teistel kasutajatel on valed õigused&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Krikko]] - parandatud&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skangsep]] -Täiendatud.  Skript peab tegema exit 0 või 1 ... echoda pole vaja&lt;br /&gt;
&lt;br /&gt;
Python&#039;is lahendus [[User:Uluuk#Quest 5 - Python]]&lt;br /&gt;
&lt;br /&gt;
=Quest 6=&lt;br /&gt;
Teha skript save-alias, mis töötab nagu käsk alias, kuid salvestab loodud aliase .bashrc faili ja sourceb .bashrc faili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juhtus, et sai valmis:&lt;br /&gt;
[[User:Kkalder|Kkalder]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 12:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 7=&lt;br /&gt;
Looge skript mis lisab kasutaja nimetatud gruppi.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas grupp on juba olemas, vajadusel grupi looma.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.&lt;br /&gt;
&lt;br /&gt;
nt. ./att-to-group.sh kasutajanimi grupinimi&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mlehari]] &lt;br /&gt;
&lt;br /&gt;
Täiendused tehtud! --[[User:Mlehari|Mlehari]] 10:24, 13 May 2011 (EEST)&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 19:30, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 8=&lt;br /&gt;
Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näideks failidel võivad olla erinevad nimed, kuid sama sisu : &lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  joujou&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  tere&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  hello&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  asd&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Vkolesni]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:19, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 9 Kasutajanime küsimine ja faili salvestamine=&lt;br /&gt;
Teha skript, mis küsib kasutajanime ja salvestab selle tekstifaili /var/tmp/username&lt;br /&gt;
&lt;br /&gt;
Peale nime küsimist küsib skript kinnitust, et nimi on õige.&lt;br /&gt;
&lt;br /&gt;
Skript kirjutab eelneva faili üle (kui ei saa üle kirjutada, siis annab vea)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:okilk]]&lt;br /&gt;
Quest Lukus [[User:Mernits|Mernits]] 10:31, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 10  - Keerukam - Mysql varukoopia tegemise skript (koos installiskriptiga) =&lt;br /&gt;
&lt;br /&gt;
NB: seda skripti võivad teha 3 inimest, kui iga inimene teeb ühe allosa.&lt;br /&gt;
&lt;br /&gt;
Taust: on varundusarvuti ja mysql andmebaasi arvuti. Andmebaasi arvutis töötab mysql server, mille külge otse üle võrgu ühenduda ei saa. Andmevaasist on vaja teha varukoopiaid, mida igapäevalselt kopeeritakse varundusserverisse. Varundusserver algatab kopeerimise ja autentimine käib võtmete abil.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript koosneb kolmest osast.&lt;br /&gt;
&lt;br /&gt;
*Skript, mis on mysql serveris ja käivitatakse cron abil. Skript teeb mydqldump -A ... käsuga koopia /var/varukoopiad kausta ja failinimega &amp;lt;DATE&amp;gt;-mysql-&amp;lt;masinanimi&amp;gt;.sql.gz - seega sisaldab kuupäeva ja masina nime, ning pakitakse kokku.&lt;br /&gt;
&lt;br /&gt;
Bash lahendus: [[User:kjogi#Quest10.1]]&lt;br /&gt;
&lt;br /&gt;
*Teine skript kopeerib andmebaasiserverist varukoopiad varundusserverisse ja kustutab andmebaasiserverist varukoopiad, mis on vanemad, kui üks kuu&lt;br /&gt;
&lt;br /&gt;
Python lahendus: [[User:kjogi#Quest10.2]]&lt;br /&gt;
&lt;br /&gt;
*Kolmas skript on installatsiooniskript. See küsib andmebaasiserveri nime/parooli ja mysql root parooli.&lt;br /&gt;
Skript kopeerib esimese skripti andmebaasiserverisse ja seadistab sealse cron-i seda regulaarselt käivitama. Skript seadistab varundusserveri cron-i regulaarselt käivitama kopeerimise skripti.&lt;br /&gt;
&lt;br /&gt;
=Quest 11 - Skript paki installi kontrolliks=&lt;br /&gt;
Teha skript, mis kontrollib, kas etteantud tarkvarapakk on installeeritud. Kui on installeeritud, siis tagastab 0 ja vastasel juhul 1.&lt;br /&gt;
&lt;br /&gt;
is_installed.sh &amp;lt;pakinimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;br /&gt;
&lt;br /&gt;
Väikest mööndustega on skript OK (Kui keel on Eesti, siis skript ei toimi. Skripti algusesse  export LC_ALL=C oleks hea)&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 13:01, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 12 kasutaja/grupi olemasolu testimine=&lt;br /&gt;
&lt;br /&gt;
Teha skriptid is_user.sh is_group.sh mis kontrollivad, kas kasutaja või grupp eksisteerib.&lt;br /&gt;
&lt;br /&gt;
is_user.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is_group.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skriptid tagastavad 0, kui kasutaja/grupp on olemas ja 1 kui kasutajat/gruppi pole.&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Vvinogra]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:29, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Bash skript, mis vähendab foto lahutus: [https://wiki.itcollege.ee/index.php/User:Vvinogra#Skript.2C_mis_v.C3.A4hendab_foto_lahutus Skript, mis vähendab foto lahutus]&lt;br /&gt;
&lt;br /&gt;
Python skript (bash quest 12 ülesanne): [[User:Vvinogra#Python_kasutaja_olemasolu_testimine_skript]]&lt;br /&gt;
&lt;br /&gt;
=Quest 13 - kas kasutaja kuulub gruppi?=&lt;br /&gt;
&lt;br /&gt;
Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0, kui kuulub ja 1 kui ei kuulu.&lt;br /&gt;
&lt;br /&gt;
user_in_group.sh &amp;lt;kasutaja&amp;gt; &amp;lt;grupp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Amill]] - lahendus OK [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skullara]] - lahendus OK - kuna leitud teisest lahendusest viga, siis lähevad punktid kirja... [[User:Mernits|Mernits]] 22:34, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 14 IP aliase loomine ja salvestamine=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis loob ubuntu serverile IP aliase ja salvestab selle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add_ip.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skript teeb võrgule restardi ja kontrollib, kas IP vastab. (enne võiks pingida, et ip ei vastaks)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:trohumet]] - Siin luuakse alati alias eth0:0, samas võib see juba olemas olla ja seda tuleks kontrollida ja seejärel luua eth0:1 jne. [[User:Mernits|Mernits]] 19:32, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Nüüd oskab see skript ka teistele liidestele Aliast anda.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Rkorgmaa]]&lt;br /&gt;
&lt;br /&gt;
Parandused sisestatud 26.05.2011&lt;br /&gt;
&lt;br /&gt;
=Quest 15 - IP aliase kontroll =&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas Ubuntu serveris on seadistatud etteantud IP alias&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is_ip_alias.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return 0 - alias olemas&lt;br /&gt;
&lt;br /&gt;
return 1 - aliast pole&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:rsepp]]&lt;br /&gt;
&lt;br /&gt;
=Quest 16 - Osta elevant ära=&lt;br /&gt;
Teha programm, mis käivitamisel paku kasutajale &amp;quot;osta elevant ära&amp;quot; ja ootaks kasutaja sisendit. Ükskõik mida kasutaja sisestab ütleb skript &amp;quot;Seda ütlevad kõik, aga osta elevant ära&amp;quot; ja nii lõpmatuseni.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:skullara]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 14:21, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 17 - Kas serveris on piisavalt mälu=&lt;br /&gt;
Teha skript, mis kontrollib, kas servers on piisavalt operatiivmälu (näiteks mõne teenuse installi skript võiks seda teha)&lt;br /&gt;
&lt;br /&gt;
./ram.sh &amp;lt;mälu MB&amp;gt;&lt;br /&gt;
&lt;br /&gt;
./ram.sh 512&lt;br /&gt;
&lt;br /&gt;
Väljund:&lt;br /&gt;
exit 0 - mälu on piisavalt&lt;br /&gt;
&lt;br /&gt;
exit 1 - mälu pole piisavalt&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:ttoppi]] | Lahendus OK, quest lukus [[User:Mernits|Mernits]] 13:17, 19 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 18=&lt;br /&gt;
&lt;br /&gt;
Tuleb tekitada skript, mis suunaks kasutaja viimati kasutatud failid nende  viimase muutmise kuupäeva järgi kaustadesse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab sisaldama: viite erinevat kausta.&lt;br /&gt;
&lt;br /&gt;
Skript peab tegema seda toimingut iga 2 päeva tagant ja teavitama kasutajat sellest, et failid on ümber jagatud.&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide sorteerimist ütlema mitu faili mingisse kausta tõsteti. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaustadesse tuleb failid sorteerida järgmiselt: esimesse kausta peavad minema failid mida on viimati muudetud vähem kui 2 päeva tagasi, teisse kausta failid mis on muudetud 2-7 päeva tagasi, kolmandasse failid mis on 8-14 päeva tagasi muudetud, neljandasse kausta 15-29 päeva tagasi muudetud failid ja viiendaks 30 päeva ning vanemad failid mis on muudetud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Iambos]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 10:48, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 19=&lt;br /&gt;
&lt;br /&gt;
Kasutaja saab määrata mis faile otsitakse (.torrent; .avi või mkv vmt.) kogusüsteemist. Kui failid on leitud peab skript kasutajale teada andma millised on failide nime. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab leidma kõik kasutaja poolt sisestatud lõpuga failid.&lt;br /&gt;
&lt;br /&gt;
Skript peab failid ära nummerdama ja kasutajale nende nimesid näitama.&lt;br /&gt;
&lt;br /&gt;
Skript peab võimaldama kasutajal valida numbritega failid mida soovib kustutada (Näiteks: 1-3, 9, 12, 19-20). Peab toimima valiku võimalus näiteks: 15-19&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas kasutajal on õigused faile kustutada. Kui õigused puuduvad tuleb anda vea teade. &lt;br /&gt;
&lt;br /&gt;
Skript peab peale kasutaja poolt valitud numbreid väljastama uuesti failide nimed mis on valitud ja küsima kas valitud failid on õiged. (kui on õiged peab sisestama 0 , kui valed siis 1)&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide kustutamist väljastama teate, et failid on kustutatud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Msuursal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 10:49, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 20=&lt;br /&gt;
Teha skript, mis käib läbi PATH muutuja sisu ja leiab sealt üles kataloogid, mida pole olemas.&lt;br /&gt;
Leitud olematud kataloogid kuvatakse kasutajale.&lt;br /&gt;
&lt;br /&gt;
Skript lisab uue PATH muutuja kasutaja profile faili&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:krvask]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus, tehtud [[User:Mernits|Mernits]] 09:47, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 21=&lt;br /&gt;
Teha skript, mis lisab kataloogi PATH muutujasse (ja sinna faili, kus kasutaja oma PATH muutujat hoiab)&lt;br /&gt;
&lt;br /&gt;
./add_path.sh &amp;lt;KATALOOG&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Akannus]] Töötas Mac OS keskonnas. - See töötab siiski vaid root kasutaja alt (tavakasutaja ei kirjuta /etc/ kataloogi. Otsi, kus hoitakse tavakasutaja PATH väärtust, mida ta ise muuta saab. [[User:Mernits|Mernits]] 09:22, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Questile võib teha ka linux lahenduse&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 22 - kontrollib, kas lokaalne kasutaja on lukus=&lt;br /&gt;
&lt;br /&gt;
./user_is_locked.sh &amp;lt;loginname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
exit 0 - kasutaja on lukus&lt;br /&gt;
&lt;br /&gt;
exit 1 - kasutaja pole lukus&lt;br /&gt;
&lt;br /&gt;
exit 2 - kasutajat pole üldse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:skangsep]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 09:46, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 23=&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis otsib logifailist välja kasutajate ebaõnnestunud sisselogimised ja kordade arvu viimase kolme päeva jooksul, järjestades kasutajad alustades kõige rohkem ebaõnnestunud sisselogimisi teinud kasutajast ja suunab need faili vead.txt. &lt;br /&gt;
vihjeks: faillog näitab ebaõnnestunud sisselogimisi, on käivitav käsurealt&lt;br /&gt;
&lt;br /&gt;
[[User:Jliiva]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (kuigi see sudo puhul ei toimi) [[User:Mernits|Mernits]] 10:28, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 24=&lt;br /&gt;
Teha skript, mis kontrollib, kas etteantud string on palindroom või mitte.&lt;br /&gt;
http://et.wikipedia.org/wiki/Palindroom&lt;br /&gt;
&lt;br /&gt;
./is_palindroom.sh kaak &lt;br /&gt;
Tagastab 0&lt;br /&gt;
&lt;br /&gt;
./is_palindroom.sh kala&lt;br /&gt;
Tagastab 1&lt;br /&gt;
&lt;br /&gt;
Quest lukus (Tehakse tunnis) [[User:Mernits|Mernits]] 10:17, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 25=&lt;br /&gt;
&lt;br /&gt;
Skript, mis leiab lehelt google anatytics andmed ja väljastab need.&lt;br /&gt;
&lt;br /&gt;
./is_google_analytics.sh veebileht&lt;br /&gt;
&lt;br /&gt;
exit 0 - olemas&lt;br /&gt;
&lt;br /&gt;
exit 1 - pole&lt;br /&gt;
&lt;br /&gt;
Lisaks peab skript kasutajale tevitama ID&lt;br /&gt;
&lt;br /&gt;
=Quest 26=&lt;br /&gt;
&lt;br /&gt;
Kirjutada skript, mis otsib üles kõik .html failid ning kirjutab iga faili html dokumendi pealkirja failid.html faili. Loodud html fail (failid.html) peab sisaldama .html faile linkidena, ehk sinna klikates suunab  asukohta, kus fail asub.&lt;br /&gt;
&lt;br /&gt;
[[user:ulaaneot]] - Siin kirjutatakse esimene rida. [[User:Mernits|Mernits]] 10:15, 27 May 2011 (EEST) &lt;br /&gt;
NB keegi võiks seda täiendada. [[User:Ulaaneot|Ulaaneot]] 16:55, 27 May 2011 (EEST) Täiendatud ja muudetud vastavalt kirjeldusele&lt;br /&gt;
&lt;br /&gt;
[[User:Metamm]] - Pythonis&lt;br /&gt;
&lt;br /&gt;
=Quest 27=&lt;br /&gt;
&lt;br /&gt;
Kirjutada skript, mis kopeerib data CD-lt pilditõmmise (image) kõvakettale ning kirjutab selle &lt;br /&gt;
sama pildi uuele plaadile. Pärast kirjutasmit küsib, kas soovib pildi (image) kõvakettalt kustutada.&lt;br /&gt;
NB! Data plaadilt tehtud image peab olemuselt olema MD5 räsi. ( md5sum &amp;lt; &amp;gt; )&lt;br /&gt;
&lt;br /&gt;
[[User:Tsalumet]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:18, 26 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest - Python arvestus (saata ära 24.mai enne 12:30)=&lt;br /&gt;
&lt;br /&gt;
Leida etteantud failist kõik palindroomid ja kirjutada tulemus uude faili.&lt;br /&gt;
Failinimed antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
Seega väljundfailis on ainult palindroomid või fail on tühi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
./pal.py sisendfail väljundfail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 13:25, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 28=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kirjutada skript, mis eemaldab Opera veebibrauseri bookmarkidest kirjeldused (descriptionid). &lt;br /&gt;
Skripti jaoks peaks olemas olema Opera veebibrauser ja failid asuvad ~/.opera&lt;br /&gt;
&lt;br /&gt;
[[user:Eumal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 15:37, 30 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 29=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Teha skript, mis pakub kasutajale välja erinevate promptide valikuid a&#039;la kombineeri ise endale bash prompt.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 30 - Python arvestustöö - Lahendused saata laurile ja margusele 27.mai hiljemalt kell 11:30!=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luua isikukoodi parser ja õigsuse kontroll. Sisendiks fail kus igal&lt;br /&gt;
real on isikukood,&lt;br /&gt;
mis võib olla õige või vale. Väljundiks on fail kus on õiged&lt;br /&gt;
isikukoodid kus kontrollsumma klapib&lt;br /&gt;
ning kuupäev on korrektne (aastas 12 kuud ning iga kuu päevade arv sobiv).&lt;br /&gt;
&lt;br /&gt;
Sisendfail enesekontrolliks: http://lauri.vosandi.eu/python/isikukoodid.txt&lt;br /&gt;
&lt;br /&gt;
NB! Kuupäeva õigsuse kontrollimiseks kasutage datetime.strptime funktsiooni ja uuesti vormindamiseks datetime.strftime funktsiooni&lt;br /&gt;
&lt;br /&gt;
Eeldatav väljund:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lauri@lauri-t410:~/isikukood$ python isikukoodid.py  isikukoodid.txt &lt;br /&gt;
61206116170 - 11.06.2012 - naine&lt;br /&gt;
40511309870 - 30.11.1905 - naine&lt;br /&gt;
41407165380 - 16.07.1914 - naine&lt;br /&gt;
63511033026 - 03.11.2035 - naine&lt;br /&gt;
44408261855 - 26.08.1944 - naine&lt;br /&gt;
36001157802 - 15.01.1960 - mees&lt;br /&gt;
68905216902 - 21.05.2089 - naine&lt;br /&gt;
44702094652 - 09.02.1947 - naine&lt;br /&gt;
63812277449 - 27.12.2038 - naine&lt;br /&gt;
41207203213 - 20.07.1912 - naine&lt;br /&gt;
68708158219 - 15.08.2087 - naine&lt;br /&gt;
59803250119 - 25.03.2098 - mees&lt;br /&gt;
53912086035 - 08.12.2039 - mees&lt;br /&gt;
51211188093 - 18.11.2012 - mees&lt;br /&gt;
43805027379 - 02.05.1938 - naine&lt;br /&gt;
63206180726 - 18.06.2032 - naine&lt;br /&gt;
51501095401 - 09.01.2015 - mees&lt;br /&gt;
41609258538 - 25.09.1916 - naine&lt;br /&gt;
60306250756 - 25.06.2003 - naine&lt;br /&gt;
61901193165 - 19.01.2019 - naine&lt;br /&gt;
43107188423 - 18.07.1931 - naine&lt;br /&gt;
48210160415 - 16.10.1982 - naine&lt;br /&gt;
48910144868 - 14.10.1989 - naine&lt;br /&gt;
37605156061 - 15.05.1976 - mees&lt;br /&gt;
30907090640 - 09.07.1909 - mees&lt;br /&gt;
53907089733 - 08.07.2039 - mees&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programm peab sisaldama infot skripti autori kohta ning valede&lt;br /&gt;
parameetrite korral&lt;br /&gt;
väljastama programmi kasutusinfo&lt;br /&gt;
&lt;br /&gt;
=Quest 31=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Teha skript mis ärataks hommikul (öösel) unise tudengi. Skripti tuleks lisada ka mingi phrase mille tudeng peab kirjutaama, et alarm kinni jääks.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 32=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript mis automaatselt installeerib uued ATI graafika driverid.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 33=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript mis automaatselt installeerib uued Geforce graafika driverid.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 34 - Viimane arvestus=&lt;br /&gt;
Saata 16:30 seisuga toimiv kood aadressile lauri.vosandi@gmail.com&lt;br /&gt;
&lt;br /&gt;
Lugeda sisendfailist tabulaatoritega (&amp;quot;\t&amp;quot;) eraldatud read kus tulpades vastavalt: ainekood, aine nimi, õppejõud, hindamisviis, hinne, EAP&lt;br /&gt;
&lt;br /&gt;
Sisendfail: http://lauri.vosandi.eu/python/ainepunktid.txt&lt;br /&gt;
&lt;br /&gt;
Programm peab lugema käsurealt sisend ja väljundfailide nimed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lauri@lauri-t410:~/midagi$ python lahendus.py &lt;br /&gt;
Usage: lahendus.py &amp;lt;input_file&amp;gt; &amp;lt;output_file&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väljundfaili peaks kirjutama kaalutud keskhinde ning Euroopa ainepunktid kokku:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lauri@lauri-t410:~/midagi$ python lahendus.py ainepunktid.txt out.txt&lt;br /&gt;
lauri@lauri-t410:~/midagi$ cat out.txt &lt;br /&gt;
Kokku EAP: 88.0&lt;br /&gt;
Kaalutud keskhinne: 2.15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 35=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Teha skript, mis paneb ubuntu serveri kasutajale e-posti saatma, kui tuleb uusi uuendusi.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Paigaldab [[apticron]] tarkvara.&lt;br /&gt;
* Muudab selle konfiguratsioonis määratavat e-posti aadressi vastavalt kasutajalt küsitavale aadressile.&lt;br /&gt;
&lt;br /&gt;
=Quest 36=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Luua skript, mis seadistab võtmete baasil autentimise ssh abil.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutaja kirjutab:&lt;br /&gt;
&lt;br /&gt;
./ssh-setup.sh kasutajanimi@server&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas kasutajal on olemas privaatvõti (kui pole, siis genereerib)&lt;br /&gt;
&lt;br /&gt;
Skript logib ssh abil serverisse ja kopeerib avaliku võtme .ssh kataloogi&lt;br /&gt;
&lt;br /&gt;
Teatab, et edaspidi saab serverisse ühenduda võtmetega autentimisega.&lt;br /&gt;
&lt;br /&gt;
Skripti tooriku leiab skriptimise loengus (sealne skript teeb pea kõik ära, kuid küsib kaks korda parooli. Piisaks ühest korrast)&lt;br /&gt;
&lt;br /&gt;
=Quest 37=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript, mis leiab etteantud kataloogist kõik katkised nimelingid&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 38=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript, mis muuda etteantud faili muutmisaega&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skript saab käsurealt argumendina failinime.&lt;br /&gt;
&lt;br /&gt;
*Kontrollib, kas fail on olemas, kui pole - exit 1&lt;br /&gt;
*Küsib kasutajalt aastat, kuupäeva, kellaaega&lt;br /&gt;
*Seab failile muutmiskuupäeva&lt;br /&gt;
&lt;br /&gt;
[[User:Ikrustok]]&lt;br /&gt;
&lt;br /&gt;
=Quest 39=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript, mis leiab kasutaja kodukaustast kõik failid ja kataloogid, mille omanikuks ta ise pole ja väljastab nende täispikad nimed&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 40=&lt;br /&gt;
=Quest 41=&lt;br /&gt;
=Quest 42=&lt;br /&gt;
=Quest 43=&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=33392</id>
		<title>Bash quests</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=33392"/>
		<updated>2011-05-30T16:25:20Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 10:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - Leia suured kaustad oma kodukataloogist=&lt;br /&gt;
&lt;br /&gt;
Probleem: Kodukaustast on vaja leida suured kataloogid ja teada, palju nendele ruumu kulub.&lt;br /&gt;
&lt;br /&gt;
Luua skript suuredkaustad.sh&lt;br /&gt;
&lt;br /&gt;
Väljasta kataloogid suuremad kõige alla kujul:&lt;br /&gt;
&lt;br /&gt;
20MB  Allalaadimised&lt;br /&gt;
&lt;br /&gt;
100MB Dokumendid&lt;br /&gt;
&lt;br /&gt;
hint: &#039;&#039;&#039;du -s * | sort -nr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Kakukk|Katrin Kukk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 16:27, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 2=&lt;br /&gt;
Teha skript, mis taastab poolelijäänud tarkvarapaigalduse (apt-get baasil)&lt;br /&gt;
&lt;br /&gt;
Kui näiteks kasutaja tahab midagi installeerida ja talle öeldakse, et eelmine install jäi pooleli (vool läks ära või mis iganes), siis viidaks installeerimine/konfigureerimine lõpuni.&lt;br /&gt;
&lt;br /&gt;
Bashi lahendus: [[User:Hvosujal]]&lt;br /&gt;
&lt;br /&gt;
Pythoni lahendus: [[User:Hvosujal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 13:37, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 3=&lt;br /&gt;
Teha skript, mis eemaldab vanad kernelid (jätab alles kaks viimast). Tulemuseks on grub2 menüüs näha kahe viimase kerneli ridu ja vanade kernelite arvelt hoitakse kettaruumi kokku.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:otuur]]&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Metamm]] - Parandatud 16.05 14:24&lt;br /&gt;
   Rpm eemaldust kasutades ubuntu 10.10&#039;ga saab teate &amp;quot;head: unrecognized option &#039;--1&#039;&amp;quot;&lt;br /&gt;
   peale seda teavitatakse, kasutajat, et skript kustutas kõik kernelid peale kahe viimase, ometi seda ei toimunud. Dpkg eemaldus toimib.&lt;br /&gt;
   Olle Tuur 13.05.2011 21:38&lt;br /&gt;
&lt;br /&gt;
   Parandasin Olle välja toodud vea, nüüd skript kontrollib, kas kasutajal ikka on see paketihaldur olemas, millega skripi käivitab.&lt;br /&gt;
   Olle skript töötab dpkg paketihalduriga linuxites (N: Ubuntu, Debian) ilusti.&lt;br /&gt;
   Aga Fedoras, kus on kasutusel rpm paketihaldur ei saa kasutada apt-get remove kernelite eemaldamiseks&lt;br /&gt;
   Meelis Tamm 16.05.2011 14:30&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 10:26, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 4=&lt;br /&gt;
Teha skript, mis ühendab lahti kõik kettajaod/saalealad etteantud kettalt ja kustutab partitsioonid sellelt kettalt.&lt;br /&gt;
&lt;br /&gt;
Skript peab kasutajat hoiatama, et eemaldatakse see ja too kettajagu.&lt;br /&gt;
&lt;br /&gt;
Skript annab vea, kui lahtiühendamine ei õnnestu.&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas kasutajal on piisavalt õiguseid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine: trash.sh &amp;lt;kettas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
näiteks: trash.sh /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Uluuk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 12:12, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 5=&lt;br /&gt;
Teha shell funktsioon, mis kontrollib faili olemasolu ja sellele antud õiguseid&lt;br /&gt;
&lt;br /&gt;
Näiteks on fail rwxrwxrwx /var/kala.txt&lt;br /&gt;
&lt;br /&gt;
funktsioon välja kutsudes argumentidega  /var/kala.txt 777 tagastatakse 0&lt;br /&gt;
Teistel juhtudel:&lt;br /&gt;
1 - faili pole&lt;br /&gt;
2 - omanikul on valed õigused&lt;br /&gt;
3 - grupil on valed õigused&lt;br /&gt;
4 - teistel kasutajatel on valed õigused&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Krikko]] - parandatud&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skangsep]] -Täiendatud.  Skript peab tegema exit 0 või 1 ... echoda pole vaja&lt;br /&gt;
&lt;br /&gt;
Python&#039;is lahendus [[User:Uluuk#Quest 5 - Python]]&lt;br /&gt;
&lt;br /&gt;
=Quest 6=&lt;br /&gt;
Teha skript save-alias, mis töötab nagu käsk alias, kuid salvestab loodud aliase .bashrc faili ja sourceb .bashrc faili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juhtus, et sai valmis:&lt;br /&gt;
[[User:Kkalder|Kkalder]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 12:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 7=&lt;br /&gt;
Looge skript mis lisab kasutaja nimetatud gruppi.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas grupp on juba olemas, vajadusel grupi looma.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.&lt;br /&gt;
&lt;br /&gt;
nt. ./att-to-group.sh kasutajanimi grupinimi&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mlehari]] &lt;br /&gt;
&lt;br /&gt;
Täiendused tehtud! --[[User:Mlehari|Mlehari]] 10:24, 13 May 2011 (EEST)&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 19:30, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 8=&lt;br /&gt;
Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näideks failidel võivad olla erinevad nimed, kuid sama sisu : &lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  joujou&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  tere&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  hello&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  asd&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Vkolesni]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:19, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 9 Kasutajanime küsimine ja faili salvestamine=&lt;br /&gt;
Teha skript, mis küsib kasutajanime ja salvestab selle tekstifaili /var/tmp/username&lt;br /&gt;
&lt;br /&gt;
Peale nime küsimist küsib skript kinnitust, et nimi on õige.&lt;br /&gt;
&lt;br /&gt;
Skript kirjutab eelneva faili üle (kui ei saa üle kirjutada, siis annab vea)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:okilk]]&lt;br /&gt;
Quest Lukus [[User:Mernits|Mernits]] 10:31, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 10  - Keerukam - Mysql varukoopia tegemise skript (koos installiskriptiga) =&lt;br /&gt;
&lt;br /&gt;
NB: seda skripti võivad teha 3 inimest, kui iga inimene teeb ühe allosa.&lt;br /&gt;
&lt;br /&gt;
Taust: on varundusarvuti ja mysql andmebaasi arvuti. Andmebaasi arvutis töötab mysql server, mille külge otse üle võrgu ühenduda ei saa. Andmevaasist on vaja teha varukoopiaid, mida igapäevalselt kopeeritakse varundusserverisse. Varundusserver algatab kopeerimise ja autentimine käib võtmete abil.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript koosneb kolmest osast.&lt;br /&gt;
&lt;br /&gt;
*Skript, mis on mysql serveris ja käivitatakse cron abil. Skript teeb mydqldump -A ... käsuga koopia /var/varukoopiad kausta ja failinimega &amp;lt;DATE&amp;gt;-mysql-&amp;lt;masinanimi&amp;gt;.sql.gz - seega sisaldab kuupäeva ja masina nime, ning pakitakse kokku.&lt;br /&gt;
&lt;br /&gt;
Bash lahendus: [[User:kjogi#Quest10.1]]&lt;br /&gt;
&lt;br /&gt;
*Teine skript kopeerib andmebaasiserverist varukoopiad varundusserverisse ja kustutab andmebaasiserverist varukoopiad, mis on vanemad, kui üks kuu&lt;br /&gt;
&lt;br /&gt;
Python lahendus: [[User:kjogi#Quest10.2]]&lt;br /&gt;
&lt;br /&gt;
*Kolmas skript on installatsiooniskript. See küsib andmebaasiserveri nime/parooli ja mysql root parooli.&lt;br /&gt;
Skript kopeerib esimese skripti andmebaasiserverisse ja seadistab sealse cron-i seda regulaarselt käivitama. Skript seadistab varundusserveri cron-i regulaarselt käivitama kopeerimise skripti.&lt;br /&gt;
&lt;br /&gt;
=Quest 11 - Skript paki installi kontrolliks=&lt;br /&gt;
Teha skript, mis kontrollib, kas etteantud tarkvarapakk on installeeritud. Kui on installeeritud, siis tagastab 0 ja vastasel juhul 1.&lt;br /&gt;
&lt;br /&gt;
is_installed.sh &amp;lt;pakinimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;br /&gt;
&lt;br /&gt;
Väikest mööndustega on skript OK (Kui keel on Eesti, siis skript ei toimi. Skripti algusesse  export LC_ALL=C oleks hea)&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 13:01, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 12 kasutaja/grupi olemasolu testimine=&lt;br /&gt;
&lt;br /&gt;
Teha skriptid is_user.sh is_group.sh mis kontrollivad, kas kasutaja või grupp eksisteerib.&lt;br /&gt;
&lt;br /&gt;
is_user.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is_group.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skriptid tagastavad 0, kui kasutaja/grupp on olemas ja 1 kui kasutajat/gruppi pole.&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Vvinogra]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:29, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Bash skript, mis vähendab foto lahutus: [https://wiki.itcollege.ee/index.php/User:Vvinogra#Skript.2C_mis_v.C3.A4hendab_foto_lahutus Skript, mis vähendab foto lahutus]&lt;br /&gt;
&lt;br /&gt;
Python skript (bash quest 12 ülesanne): [[User:Vvinogra#Python_kasutaja_olemasolu_testimine_skript]]&lt;br /&gt;
&lt;br /&gt;
=Quest 13 - kas kasutaja kuulub gruppi?=&lt;br /&gt;
&lt;br /&gt;
Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0, kui kuulub ja 1 kui ei kuulu.&lt;br /&gt;
&lt;br /&gt;
user_in_group.sh &amp;lt;kasutaja&amp;gt; &amp;lt;grupp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Amill]] - lahendus OK [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skullara]] - lahendus OK - kuna leitud teisest lahendusest viga, siis lähevad punktid kirja... [[User:Mernits|Mernits]] 22:34, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 14 IP aliase loomine ja salvestamine=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis loob ubuntu serverile IP aliase ja salvestab selle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add_ip.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skript teeb võrgule restardi ja kontrollib, kas IP vastab. (enne võiks pingida, et ip ei vastaks)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:trohumet]] - Siin luuakse alati alias eth0:0, samas võib see juba olemas olla ja seda tuleks kontrollida ja seejärel luua eth0:1 jne. [[User:Mernits|Mernits]] 19:32, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Nüüd oskab see skript ka teistele liidestele Aliast anda.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Rkorgmaa]]&lt;br /&gt;
&lt;br /&gt;
Parandused sisestatud 26.05.2011&lt;br /&gt;
&lt;br /&gt;
=Quest 15 - IP aliase kontroll =&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas Ubuntu serveris on seadistatud etteantud IP alias&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is_ip_alias.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return 0 - alias olemas&lt;br /&gt;
&lt;br /&gt;
return 1 - aliast pole&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:rsepp]]&lt;br /&gt;
&lt;br /&gt;
=Quest 16 - Osta elevant ära=&lt;br /&gt;
Teha programm, mis käivitamisel paku kasutajale &amp;quot;osta elevant ära&amp;quot; ja ootaks kasutaja sisendit. Ükskõik mida kasutaja sisestab ütleb skript &amp;quot;Seda ütlevad kõik, aga osta elevant ära&amp;quot; ja nii lõpmatuseni.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:skullara]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 14:21, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 17 - Kas serveris on piisavalt mälu=&lt;br /&gt;
Teha skript, mis kontrollib, kas servers on piisavalt operatiivmälu (näiteks mõne teenuse installi skript võiks seda teha)&lt;br /&gt;
&lt;br /&gt;
./ram.sh &amp;lt;mälu MB&amp;gt;&lt;br /&gt;
&lt;br /&gt;
./ram.sh 512&lt;br /&gt;
&lt;br /&gt;
Väljund:&lt;br /&gt;
exit 0 - mälu on piisavalt&lt;br /&gt;
&lt;br /&gt;
exit 1 - mälu pole piisavalt&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:ttoppi]] | Lahendus OK, quest lukus [[User:Mernits|Mernits]] 13:17, 19 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 18=&lt;br /&gt;
&lt;br /&gt;
Tuleb tekitada skript, mis suunaks kasutaja viimati kasutatud failid nende  viimase muutmise kuupäeva järgi kaustadesse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab sisaldama: viite erinevat kausta.&lt;br /&gt;
&lt;br /&gt;
Skript peab tegema seda toimingut iga 2 päeva tagant ja teavitama kasutajat sellest, et failid on ümber jagatud.&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide sorteerimist ütlema mitu faili mingisse kausta tõsteti. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaustadesse tuleb failid sorteerida järgmiselt: esimesse kausta peavad minema failid mida on viimati muudetud vähem kui 2 päeva tagasi, teisse kausta failid mis on muudetud 2-7 päeva tagasi, kolmandasse failid mis on 8-14 päeva tagasi muudetud, neljandasse kausta 15-29 päeva tagasi muudetud failid ja viiendaks 30 päeva ning vanemad failid mis on muudetud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Iambos]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 10:48, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 19=&lt;br /&gt;
&lt;br /&gt;
Kasutaja saab määrata mis faile otsitakse (.torrent; .avi või mkv vmt.) kogusüsteemist. Kui failid on leitud peab skript kasutajale teada andma millised on failide nime. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab leidma kõik kasutaja poolt sisestatud lõpuga failid.&lt;br /&gt;
&lt;br /&gt;
Skript peab failid ära nummerdama ja kasutajale nende nimesid näitama.&lt;br /&gt;
&lt;br /&gt;
Skript peab võimaldama kasutajal valida numbritega failid mida soovib kustutada (Näiteks: 1-3, 9, 12, 19-20). Peab toimima valiku võimalus näiteks: 15-19&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas kasutajal on õigused faile kustutada. Kui õigused puuduvad tuleb anda vea teade. &lt;br /&gt;
&lt;br /&gt;
Skript peab peale kasutaja poolt valitud numbreid väljastama uuesti failide nimed mis on valitud ja küsima kas valitud failid on õiged. (kui on õiged peab sisestama 0 , kui valed siis 1)&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide kustutamist väljastama teate, et failid on kustutatud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Msuursal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 10:49, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 20=&lt;br /&gt;
Teha skript, mis käib läbi PATH muutuja sisu ja leiab sealt üles kataloogid, mida pole olemas.&lt;br /&gt;
Leitud olematud kataloogid kuvatakse kasutajale.&lt;br /&gt;
&lt;br /&gt;
Skript lisab uue PATH muutuja kasutaja profile faili&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:krvask]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus, tehtud [[User:Mernits|Mernits]] 09:47, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 21=&lt;br /&gt;
Teha skript, mis lisab kataloogi PATH muutujasse (ja sinna faili, kus kasutaja oma PATH muutujat hoiab)&lt;br /&gt;
&lt;br /&gt;
./add_path.sh &amp;lt;KATALOOG&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Akannus]] Töötas Mac OS keskonnas. - See töötab siiski vaid root kasutaja alt (tavakasutaja ei kirjuta /etc/ kataloogi. Otsi, kus hoitakse tavakasutaja PATH väärtust, mida ta ise muuta saab. [[User:Mernits|Mernits]] 09:22, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Questile võib teha ka linux lahenduse&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 22 - kontrollib, kas lokaalne kasutaja on lukus=&lt;br /&gt;
&lt;br /&gt;
./user_is_locked.sh &amp;lt;loginname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
exit 0 - kasutaja on lukus&lt;br /&gt;
&lt;br /&gt;
exit 1 - kasutaja pole lukus&lt;br /&gt;
&lt;br /&gt;
exit 2 - kasutajat pole üldse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:skangsep]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 09:46, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 23=&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis otsib logifailist välja kasutajate ebaõnnestunud sisselogimised ja kordade arvu viimase kolme päeva jooksul, järjestades kasutajad alustades kõige rohkem ebaõnnestunud sisselogimisi teinud kasutajast ja suunab need faili vead.txt. &lt;br /&gt;
vihjeks: faillog näitab ebaõnnestunud sisselogimisi, on käivitav käsurealt&lt;br /&gt;
&lt;br /&gt;
[[User:Jliiva]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (kuigi see sudo puhul ei toimi) [[User:Mernits|Mernits]] 10:28, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 24=&lt;br /&gt;
Teha skript, mis kontrollib, kas etteantud string on palindroom või mitte.&lt;br /&gt;
http://et.wikipedia.org/wiki/Palindroom&lt;br /&gt;
&lt;br /&gt;
./is_palindroom.sh kaak &lt;br /&gt;
Tagastab 0&lt;br /&gt;
&lt;br /&gt;
./is_palindroom.sh kala&lt;br /&gt;
Tagastab 1&lt;br /&gt;
&lt;br /&gt;
Quest lukus (Tehakse tunnis) [[User:Mernits|Mernits]] 10:17, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 25=&lt;br /&gt;
&lt;br /&gt;
Skript, mis leiab lehelt google anatytics andmed ja väljastab need.&lt;br /&gt;
&lt;br /&gt;
./is_google_analytics.sh veebileht&lt;br /&gt;
&lt;br /&gt;
exit 0 - olemas&lt;br /&gt;
&lt;br /&gt;
exit 1 - pole&lt;br /&gt;
&lt;br /&gt;
Lisaks peab skript kasutajale tevitama ID&lt;br /&gt;
&lt;br /&gt;
=Quest 26=&lt;br /&gt;
&lt;br /&gt;
Kirjutada skript, mis otsib üles kõik .html failid ning kirjutab iga faili html dokumendi pealkirja failid.html faili. Loodud html fail (failid.html) peab sisaldama .html faile linkidena, ehk sinna klikates suunab  asukohta, kus fail asub.&lt;br /&gt;
&lt;br /&gt;
[[user:ulaaneot]] - Siin kirjutatakse esimene rida. [[User:Mernits|Mernits]] 10:15, 27 May 2011 (EEST) &lt;br /&gt;
NB keegi võiks seda täiendada. [[User:Ulaaneot|Ulaaneot]] 16:55, 27 May 2011 (EEST) Täiendatud ja muudetud vastavalt kirjeldusele&lt;br /&gt;
&lt;br /&gt;
[[User:Metamm]] - Pythonis&lt;br /&gt;
&lt;br /&gt;
=Quest 27=&lt;br /&gt;
&lt;br /&gt;
Kirjutada skript, mis kopeerib data CD-lt pilditõmmise (image) kõvakettale ning kirjutab selle &lt;br /&gt;
sama pildi uuele plaadile. Pärast kirjutasmit küsib, kas soovib pildi (image) kõvakettalt kustutada.&lt;br /&gt;
NB! Data plaadilt tehtud image peab olemuselt olema MD5 räsi. ( md5sum &amp;lt; &amp;gt; )&lt;br /&gt;
&lt;br /&gt;
[[User:Tsalumet]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:18, 26 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest - Python arvestus (saata ära 24.mai enne 12:30)=&lt;br /&gt;
&lt;br /&gt;
Leida etteantud failist kõik palindroomid ja kirjutada tulemus uude faili.&lt;br /&gt;
Failinimed antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
Seega väljundfailis on ainult palindroomid või fail on tühi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
./pal.py sisendfail väljundfail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 13:25, 24 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 28=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kirjutada skript, mis eemaldab Opera veebibrauseri bookmarkidest kirjeldused (descriptionid). &lt;br /&gt;
Skripti jaoks peaks olemas olema Opera veebibrauser ja failid asuvad ~/.opera&lt;br /&gt;
&lt;br /&gt;
[[user:Eumal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 15:37, 30 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 29=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Teha skript, mis pakub kasutajale välja erinevate promptide valikuid a&#039;la kombineeri ise endale bash prompt.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 30 - Python arvestustöö - Lahendused saata laurile ja margusele 27.mai hiljemalt kell 11:30!=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luua isikukoodi parser ja õigsuse kontroll. Sisendiks fail kus igal&lt;br /&gt;
real on isikukood,&lt;br /&gt;
mis võib olla õige või vale. Väljundiks on fail kus on õiged&lt;br /&gt;
isikukoodid kus kontrollsumma klapib&lt;br /&gt;
ning kuupäev on korrektne (aastas 12 kuud ning iga kuu päevade arv sobiv).&lt;br /&gt;
&lt;br /&gt;
Sisendfail enesekontrolliks: http://lauri.vosandi.eu/python/isikukoodid.txt&lt;br /&gt;
&lt;br /&gt;
NB! Kuupäeva õigsuse kontrollimiseks kasutage datetime.strptime funktsiooni ja uuesti vormindamiseks datetime.strftime funktsiooni&lt;br /&gt;
&lt;br /&gt;
Eeldatav väljund:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lauri@lauri-t410:~/isikukood$ python isikukoodid.py  isikukoodid.txt &lt;br /&gt;
61206116170 - 11.06.2012 - naine&lt;br /&gt;
40511309870 - 30.11.1905 - naine&lt;br /&gt;
41407165380 - 16.07.1914 - naine&lt;br /&gt;
63511033026 - 03.11.2035 - naine&lt;br /&gt;
44408261855 - 26.08.1944 - naine&lt;br /&gt;
36001157802 - 15.01.1960 - mees&lt;br /&gt;
68905216902 - 21.05.2089 - naine&lt;br /&gt;
44702094652 - 09.02.1947 - naine&lt;br /&gt;
63812277449 - 27.12.2038 - naine&lt;br /&gt;
41207203213 - 20.07.1912 - naine&lt;br /&gt;
68708158219 - 15.08.2087 - naine&lt;br /&gt;
59803250119 - 25.03.2098 - mees&lt;br /&gt;
53912086035 - 08.12.2039 - mees&lt;br /&gt;
51211188093 - 18.11.2012 - mees&lt;br /&gt;
43805027379 - 02.05.1938 - naine&lt;br /&gt;
63206180726 - 18.06.2032 - naine&lt;br /&gt;
51501095401 - 09.01.2015 - mees&lt;br /&gt;
41609258538 - 25.09.1916 - naine&lt;br /&gt;
60306250756 - 25.06.2003 - naine&lt;br /&gt;
61901193165 - 19.01.2019 - naine&lt;br /&gt;
43107188423 - 18.07.1931 - naine&lt;br /&gt;
48210160415 - 16.10.1982 - naine&lt;br /&gt;
48910144868 - 14.10.1989 - naine&lt;br /&gt;
37605156061 - 15.05.1976 - mees&lt;br /&gt;
30907090640 - 09.07.1909 - mees&lt;br /&gt;
53907089733 - 08.07.2039 - mees&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programm peab sisaldama infot skripti autori kohta ning valede&lt;br /&gt;
parameetrite korral&lt;br /&gt;
väljastama programmi kasutusinfo&lt;br /&gt;
&lt;br /&gt;
=Quest 31=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Teha skript mis ärataks hommikul (öösel) unise tudengi. Skripti tuleks lisada ka mingi phrase mille tudeng peab kirjutaama, et alarm kinni jääks.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 32=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript mis automaatselt installeerib uued ATI graafika driverid.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 33=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript mis automaatselt installeerib uued Geforce graafika driverid.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 34 - Viimane arvestus=&lt;br /&gt;
Saata 16:30 seisuga toimiv kood aadressile lauri.vosandi@gmail.com&lt;br /&gt;
&lt;br /&gt;
Lugeda sisendfailist tabulaatoritega (&amp;quot;\t&amp;quot;) eraldatud read kus tulpades vastavalt: ainekood, aine nimi, õppejõud, hindamisviis, hinne, EAP&lt;br /&gt;
&lt;br /&gt;
Sisendfail: http://lauri.vosandi.eu/python/ainepunktid.txt&lt;br /&gt;
&lt;br /&gt;
Programm peab lugema käsurealt sisend ja väljundfailide nimed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lauri@lauri-t410:~/midagi$ python lahendus.py &lt;br /&gt;
Usage: lahendus.py &amp;lt;input_file&amp;gt; &amp;lt;output_file&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väljundfaili peaks kirjutama kaalutud keskhinde ning Euroopa ainepunktid kokku:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lauri@lauri-t410:~/midagi$ python lahendus.py ainepunktid.txt out.txt&lt;br /&gt;
lauri@lauri-t410:~/midagi$ cat out.txt &lt;br /&gt;
Kokku EAP: 88.0&lt;br /&gt;
Kaalutud keskhinne: 2.15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 35=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Teha skript, mis paneb ubuntu serveri kasutajale e-posti saatma, kui tuleb uusi uuendusi.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Paigaldab [[apticron]] tarkvara.&lt;br /&gt;
* Muudab selle konfiguratsioonis määratavat e-posti aadressi vastavalt kasutajalt küsitavale aadressile.&lt;br /&gt;
&lt;br /&gt;
=Quest 36=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Luua skript, mis seadistab võtmete baasil autentimise ssh abil.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutaja kirjutab:&lt;br /&gt;
&lt;br /&gt;
./ssh-setup.sh kasutajanimi@server&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas kasutajal on olemas privaatvõti (kui pole, siis genereerib)&lt;br /&gt;
&lt;br /&gt;
Skript logib ssh abil serverisse ja kopeerib avaliku võtme .ssh kataloogi&lt;br /&gt;
&lt;br /&gt;
Teatab, et edaspidi saab serverisse ühenduda võtmetega autentimisega.&lt;br /&gt;
&lt;br /&gt;
Skripti tooriku leiab skriptimise loengus (sealne skript teeb pea kõik ära, kuid küsib kaks korda parooli. Piisaks ühest korrast)&lt;br /&gt;
&lt;br /&gt;
=Quest 37=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript, mis leiab etteantud kataloogist kõik katkised nimelingid&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 38=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript, mis muuda etteantud faili muutmisaega&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skript saab käsurealt argumendina failinime.&lt;br /&gt;
&lt;br /&gt;
*Kontrollib, kas fail on olemas, kui pole - exit 1&lt;br /&gt;
*Küsib kasutajalt aastat, kuupäeva, kellaaega&lt;br /&gt;
*Seab failile muutmiskuupäeva&lt;br /&gt;
[[User:Ikrustok]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 39=&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Luua skript, mis leiab kasutaja kodukaustast kõik failid ja kataloogid, mille omanikuks ta ise pole ja väljastab nende täispikad nimed&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 40=&lt;br /&gt;
=Quest 41=&lt;br /&gt;
=Quest 42=&lt;br /&gt;
=Quest 43=&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33391</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33391"/>
		<updated>2011-05-30T16:23:27Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Quest lahendus 38 skript etteantud faili muutmisaega ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Luua skript, mis muuda etteantud faili muutmisaega &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fail=$1&lt;br /&gt;
if [ -f $fail ]&lt;br /&gt;
then&lt;br /&gt;
    echo &amp;quot;Sisesta faili uus kuup2ev kujul! (yyyymmdd)&amp;quot;&lt;br /&gt;
    read date&lt;br /&gt;
    echo &amp;quot;Sisesta faili uus muutmiskellaaeg! (hhss)&amp;quot;&lt;br /&gt;
    read kell&lt;br /&gt;
    `touch -mt ${date}${kell} ${fail}`&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil,&lt;br /&gt;
#prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33390</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33390"/>
		<updated>2011-05-30T16:18:42Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Quest lahendus 38 skript etteantud faili muutmisaega ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Luua skript, mis muuda etteantud faili muutmisaega &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil,&lt;br /&gt;
#prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33388</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33388"/>
		<updated>2011-05-30T14:56:12Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Quest lahendus 39 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Luua skript, mis leiab kasutaja kodukaustast kõik failid ja kataloogid, &lt;br /&gt;
#mille omanikuks ta ise pole ja väljastab nende täispikad nimed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil,&lt;br /&gt;
#prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33387</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33387"/>
		<updated>2011-05-30T14:55:26Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Quest 39 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Luua skript, mis leiab kasutaja kodukaustast kõik failid ja kataloogid, &lt;br /&gt;
#mille omanikuks ta ise pole ja väljastab nende täispikad nimed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil,&lt;br /&gt;
#prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33386</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=33386"/>
		<updated>2011-05-30T14:54:33Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Quest 39 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Luua skript, mis leiab kasutaja kodukaustast kõik failid ja kataloogid, mille omanikuks ta ise pole ja väljastab nende täispikad nimed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil,&lt;br /&gt;
#prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Ksh&amp;diff=33304</id>
		<title>Talk:Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Ksh&amp;diff=33304"/>
		<updated>2011-05-30T08:23:57Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Retsenseerinud Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
Sisukord on artikli alguses kenasti olemas.&lt;br /&gt;
&lt;br /&gt;
Sissejuhatust lugedes saab kiiresti aimu, et artikkel armu ei anna ja on mõeldud inimesele, kes tunneb ennast Linuxi maailmas koduselt. Autor ei hakka aega raiskama kasutatavate nö Linuxi põhimõistete ja lühendite tausta avamisega. Sissejuhatus annab üldjoontes aimu, mida artikkel hakkab lahkama, samas hakkab silma mõned typo&#039;d ja kahtlane sõnastus, mis võib tuleneda, et artikkel on refereeritud inglisekeelselt lehelt. Informatiivselt mõjub sissejuhatuse kõrval olev tabel, kus toodud mõningane põhiinfo ning ka pilt, ksh-st töös.&lt;br /&gt;
&lt;br /&gt;
Järgmisena võtab artikli autor käsile ksh-i võimalused. Lõik sisaldab palju keerulisi inglise- ja eestikeelseid sõnu ning vajab hoomamiseks tugevat keskendumist. Tekstist saame aru, et ksh-is on võimalusi palju, samas veidi ülevaatlikum oleks olnud võrdlus mõne teise shell-iga, näiteks bash shell-iga, millega oleme koolis kokku puutunud ning kogu võrdlus oleks võinud olla tabelina vormistatud. Näiteks järgnev väide: Suurendatud kiirus- shelli koodi käivitamisel. Õhku jääb küsimus võrreldes millega seda kiirust on suurendatud.&lt;br /&gt;
&lt;br /&gt;
Edasi suundume algteadmiste juurde ja nüüd saab ka ise näpud mullaseks teha, ehk on toodud koodijupi näited. Lõigus on erinevad ksh-i funktsioonid, näited reaalsete koodijuppidena ning nende lahti selgitused. Osa selgitusi jääb veidi keeruliselt mõistetavaks, sest sisaldavad spetsiifilisi väljendeid: a la &amp;quot;läbi kukkumine&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Algteadmistele järgneb versioonide tutvustus, kus välja toodud ksh-i evolutsioon läbi versioonide. Iga versioonipere liikme juures on ka link wiki lehele, kus võimalik pikemalt asjaga tutvuda.&lt;br /&gt;
&lt;br /&gt;
Viimase sisuartikli &amp;quot;Miks ksh, mitte XYZ programeerimise jaoks?&amp;quot; eesmärk jääb veidi häguseks. Ilmselt peaks see selgitama ksh-i kasutuse eeliseid.&lt;br /&gt;
&lt;br /&gt;
Positiivsena mõjub KKK ehk korduma kippuvad küsimused, mille alt peaks leidma esimesena pähe turgatavad küsimused.&lt;br /&gt;
&lt;br /&gt;
Päris lõpus on olemas ka kasutatud kirjandus ja autor.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõte: Mingisuguse ülevaate antud artikkel ksh-ist andis. Samas saatsid tervet artiklit kirjavead ja keerukad lausekonstruktsioonid, mis muutsid lugemise keeruliseks. Kasutatud kirjandusega tutvudes saab ka veidi põhjusest aimu, sest nii mõnigi lõik on inglise keelest otse eesti keelde ringi pandud ja vajaks veidi eestindamist. Artikli põhiosad olid olemas, nii sisukord; sissejuhatus, tutvustus; võimaluste väljatoomine ning funktsioonide lühitutvustused, versioonide tutvustus; kokkuvõttena peaks vist teenima viimane artikkel &amp;quot;Miks ksh, mitte XYZ programeerimise jaoks?&amp;quot;, samas oleks omasõnaline kokkuvõte kergemini mõistetavam olnud; lõpuks kasutatud kirjandus ja autor. Hea lisa on KKK, mida sellise keerulise artikli juurde kindlasti kuuluda võiks. Puudub skoop, ehk selgitus kellele artikkel suunatud on, samas olen kindel et paar esimest lõiku hirmutavad igasuguse algaja eemale, seega saab see kiiresti selgeks, et lugejalt oodatakse linuxi algteadmiste mõningast tundmist.&lt;br /&gt;
&lt;br /&gt;
Hindamisskaala:&lt;br /&gt;
&amp;lt;pre&amp;gt;Ülesehitus             1     2   Enamik põhiosasid olid ühel või teisel moel olemas&lt;br /&gt;
Sisukord               1     1   Olemas&lt;br /&gt;
Sissejuhatus           1     1   Olemas&lt;br /&gt;
Skoop                  0     1   Puudub&lt;br /&gt;
Sisu ajakohasus       0,25  0,5  Osa materjale pärineb aastate tagant, materjalides oleks ära kulunud viide ka mõnele uuemale allikale&lt;br /&gt;
Käskude väljatoomine  0,5   0,5  Olemas&lt;br /&gt;
Teksti loetavus        1     1   Tekst liigendatud&lt;br /&gt;
Õigekiri, keelekasutus 0     2   Kirjavead ja otsetõlked inglise keelest, keerulised lausekonstruktsioonid&lt;br /&gt;
Kokkuvõte              0    0,5  Üks lõik tundub kokkuvõttena, kuid ei täida päris kokkuvõtte ülesannet&lt;br /&gt;
Kasutatud kirjandus   0,5   0,5  Olemas&lt;br /&gt;
&lt;br /&gt;
Kokku                 5,25   10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ivar Krustok ==&lt;br /&gt;
&lt;br /&gt;
Täiendasin natukene artiklit! lisasin skoobi ja kokkuvõtet täiendasin!&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=33303</id>
		<title>Talk:Load average</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=33303"/>
		<updated>2011-05-30T08:22:38Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tekstil on olemas kenasti sissejuhatus, kellele mõeldud artikkel on ja lühikeselt kirjeldatud mis infot artiklist saab&lt;br /&gt;
&lt;br /&gt;
Kui millegi üle nuriseda üldse saab väga siis on just artikli pikkus. Vaadates läbi ta kasutatud materjal avastasin, et sealt saaks veel materjali mida siia võiks kenasti juurde lisada. Kuigi on lühikene ei saa väita, et teema käsitlus pole sisutihe, väga kenasti saab aru mis asi on load average ja mille jaoks ma seda kasutada saan.&lt;br /&gt;
&lt;br /&gt;
Välja on toodud näited ja nendele on juurde lisatud seletus, mis on äärmiselt positiivne, sest muidu oleksid suvalised numbrid millest peaks ise läbi hammustama. Väga meeldib, autode näide sest seda peaks mõistma isegi inimesed, kes väga ei tegele arvutiga aga tunnevad huvi.&lt;br /&gt;
&lt;br /&gt;
Võiks olla mõned käsud veel kuidas load averaget rohkem kombineerida, kui selleks vajadus peaks tekkima.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõte on väga hästi tehtud. On aru saada et isik kes selle artikli koostas sai ise ka aru mida ta kirjutab ja milleks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hindamisskaala:&lt;br /&gt;
&amp;lt;pre&amp;gt;Ülesehitus             1     2   Enamik põhiosasid olid olemas, aga teema käsitlus oli natuke lühidalt&lt;br /&gt;
Sisukord               1     1   Olemas&lt;br /&gt;
Sissejuhatus           1     1   Olemas&lt;br /&gt;
Skoop                  1     1   Olemas&lt;br /&gt;
Käskude väljatoomine  0,25   0,5  On näidatud paari käsku&lt;br /&gt;
Teksti loetavus        1     1   Tekst liigendatud&lt;br /&gt;
Õigekiri, keelekasutus 1     1   Kenasti loetav ja mõistetav&lt;br /&gt;
Arusaam jutust         1,25     1,25   Väga lihtsa näitega on selgitatud mis on load average&lt;br /&gt;
Kokkuvõte              0,5    0,5  Kenasti kokku võetud, nii et saab enamvähem aru millest jutt kui kokkuvõtet lugeda&lt;br /&gt;
Kasutatud kirjandus   0,25   0,5  Olemas, aga pole autorit taha märgitud&lt;br /&gt;
&lt;br /&gt;
Kokku                   8.5 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm==&lt;br /&gt;
* Lisasin paar graafilise appi linki artiklile juurde, millega saab desktopilt jälgida load average näitajat.&lt;br /&gt;
* Lisasin artiklite autorid kasutatud kirjanduse alla juurde, nagu hindaja nõudis.&lt;br /&gt;
&lt;br /&gt;
Referaadi käsitluse pikkus on hindaja toonud miinuseks, kuid mina leian et teema on piisava põhjalikkusega lahti mõtestatud ja seletatud.&lt;br /&gt;
Kui hindaja leiab, et midagi on seletamatta jäetud siis võiks selle ka siinkohal välja tuua. Ma ei leia, et referaat peaks olema algmaterjali täpne koopia mistõttu tõesti referaat ei saavuta sama pikkust nagu mõni kasutatud kirjanduse all olev artikkel, ning nendes artiklites lahatakse ka täpsemalt load average näitaja suurenemise põhjust, mida ma siinkohal ei pea vajalikuks täpsema võimaliku põhjuseanalüüsi väljatoomist. Samuti ei saa ma täpselt aru mida loodab hindaja näha käskude kombineerimise all, sest load average on kindel näitaja mis näitab kindlat suurust CPU koormuse kohta, mingisugused kombinatsioonid seda näitajat ei mõjuta või mõne muu nurga alt ei näita.&lt;br /&gt;
&lt;br /&gt;
== Ivar Krustok ==&lt;br /&gt;
&lt;br /&gt;
Tõesti täiendatud on kenasti, asjad mis ma vihjasin et puudu. Kuna toodi kenasti selgitus miks artikkel on sellise pikkusega, muudan enda arvamust ja nõustun et võib mulle tunduda lühike aga on kombaktne! Tänud ka vastusele miks ei olnud kombineerimist, mõistin natukene valesti ilmselt siis load average!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Õppejõuna ei saa ma aru, mis hihhe siis on. Kumb on hinne kas 8 või 10 ja miks ei ose see lõpus selgelt välja toodud. [[User:Mernits|Mernits]] 11:24, 27 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Hindamisskaala:&lt;br /&gt;
&amp;lt;pre&amp;gt;Ülesehitus             2     2   Enamik põhiosasid olid olemas, aga teema käsitlus oli natuke lühidalt&lt;br /&gt;
Sisukord               1     1   Olemas&lt;br /&gt;
Sissejuhatus           1     1   Olemas&lt;br /&gt;
Skoop                  1     1   Olemas&lt;br /&gt;
Käskude väljatoomine  0,5   0,5  On näidatud paari käsku&lt;br /&gt;
Teksti loetavus        1     1   Tekst liigendatud&lt;br /&gt;
Õigekiri, keelekasutus 1     1   Kenasti loetav ja mõistetav&lt;br /&gt;
Arusaam jutust         1,25     1,25   Väga lihtsa näitega on selgitatud mis on load average&lt;br /&gt;
Kokkuvõte              0,5    0,5  Kenasti kokku võetud, nii et saab enamvähem aru millest jutt kui kokkuvõtet lugeda&lt;br /&gt;
Kasutatud kirjandus   0,5   0,5  Olemas, aga pole autorit taha märgitud&lt;br /&gt;
&lt;br /&gt;
Kokku                   10 10&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=32736</id>
		<title>Talk:Load average</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=32736"/>
		<updated>2011-05-24T12:29:13Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tekstil on olemas kenasti sissejuhatus, kellele mõeldud artikkel on ja lühikeselt kirjeldatud mis infot artiklist saab&lt;br /&gt;
&lt;br /&gt;
Kui millegi üle nuriseda üldse saab väga siis on just artikli pikkus. Vaadates läbi ta kasutatud materjal avastasin, et sealt saaks veel materjali mida siia võiks kenasti juurde lisada. Kuigi on lühikene ei saa väita, et teema käsitlus pole sisutihe, väga kenasti saab aru mis asi on load average ja mille jaoks ma seda kasutada saan.&lt;br /&gt;
&lt;br /&gt;
Välja on toodud näited ja nendele on juurde lisatud seletus, mis on äärmiselt positiivne, sest muidu oleksid suvalised numbrid millest peaks ise läbi hammustama. Väga meeldib, autode näide sest seda peaks mõistma isegi inimesed, kes väga ei tegele arvutiga aga tunnevad huvi.&lt;br /&gt;
&lt;br /&gt;
Võiks olla mõned käsud veel kuidas load averaget rohkem kombineerida, kui selleks vajadus peaks tekkima.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõte on väga hästi tehtud. On aru saada et isik kes selle artikli koostas sai ise ka aru mida ta kirjutab ja milleks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hindamisskaala:&lt;br /&gt;
&amp;lt;pre&amp;gt;Ülesehitus             1     2   Enamik põhiosasid olid olemas, aga teema käsitlus oli natuke lühidalt&lt;br /&gt;
Sisukord               1     1   Olemas&lt;br /&gt;
Sissejuhatus           1     1   Olemas&lt;br /&gt;
Skoop                  1     1   Olemas&lt;br /&gt;
Käskude väljatoomine  0,25   0,5  On näidatud paari käsku&lt;br /&gt;
Teksti loetavus        1     1   Tekst liigendatud&lt;br /&gt;
Õigekiri, keelekasutus 1     1   Kenasti loetav ja mõistetav&lt;br /&gt;
Arusaam jutust         1,25     1,25   Väga lihtsa näitega on selgitatud mis on load average&lt;br /&gt;
Kokkuvõte              0,5    0,5  Kenasti kokku võetud, nii et saab enamvähem aru millest jutt kui kokkuvõtet lugeda&lt;br /&gt;
Kasutatud kirjandus   0,25   0,5  Olemas, aga pole autorit taha märgitud&lt;br /&gt;
&lt;br /&gt;
Kokku                   8.5 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm==&lt;br /&gt;
* Lisasin paar graafilise appi linki artiklile juurde, millega saab desktopilt jälgida load average näitajat.&lt;br /&gt;
* Lisasin artiklite autorid kasutatud kirjanduse alla juurde, nagu hindaja nõudis.&lt;br /&gt;
&lt;br /&gt;
Referaadi käsitluse pikkus on hindaja toonud miinuseks, kuid mina leian et teema on piisava põhjalikkusega lahti mõtestatud ja seletatud.&lt;br /&gt;
Kui hindaja leiab, et midagi on seletamatta jäetud siis võiks selle ka siinkohal välja tuua. Ma ei leia, et referaat peaks olema algmaterjali täpne koopia mistõttu tõesti referaat ei saavuta sama pikkust nagu mõni kasutatud kirjanduse all olev artikkel, ning nendes artiklites lahatakse ka täpsemalt load average näitaja suurenemise põhjust, mida ma siinkohal ei pea vajalikuks täpsema võimaliku põhjuseanalüüsi väljatoomist. Samuti ei saa ma täpselt aru mida loodab hindaja näha käskude kombineerimise all, sest load average on kindel näitaja mis näitab kindlat suurust CPU koormuse kohta, mingisugused kombinatsioonid seda näitajat ei mõjuta või mõne muu nurga alt ei näita.&lt;br /&gt;
&lt;br /&gt;
== Ivar Krustok ==&lt;br /&gt;
&lt;br /&gt;
Tõesti täiendatud on kenasti, asjad mis ma vihjasin et puudu. Kuna toodi kenasti selgitus miks artikkel on sellise pikkusega, muudan enda arvamust ja nõustun et võib mulle tunduda lühike aga on kombaktne! Tänud ka vastusele miks ei olnud kombineerimist, mõistin natukene valesti ilmselt siis load average!&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32676</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32676"/>
		<updated>2011-05-24T06:50:32Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: /* Skript emaili domeeni info saamiseks [Powershell] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil,&lt;br /&gt;
#prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32675</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32675"/>
		<updated>2011-05-24T06:48:50Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript emaili domeeni info saamiseks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32673</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32673"/>
		<updated>2011-05-24T06:48:20Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks [Bash] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Python] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skript paki installi kontrolliks [Powershell] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.0&lt;br /&gt;
#skript, mis küsib emaili, eraldab sellest user ja domaini, uurib välja domaini ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle arvutikasutaja folderisse txt faili koos kellajaga millal küsiti ja domaini nimega.&lt;br /&gt;
$email = Read-Host “Mis su e-maili aadress on?”&lt;br /&gt;
$kasutaja = [Environment]::UserName&lt;br /&gt;
$atpos = $email.IndexOf(“@”)&lt;br /&gt;
$user = $email.substring(0,$atpos)&lt;br /&gt;
$domain = $email.substring($atpos+1, $email.length-($atpos+1))&lt;br /&gt;
Write-Host (“Username: “ + $user)&lt;br /&gt;
Write-Host (“Domain: “ + $domain)&lt;br /&gt;
$webRequest = [net.WebRequest]::Create(&amp;quot;http://www.$domain&amp;quot;)&lt;br /&gt;
$web = $webrequest.GetResponse();&lt;br /&gt;
$fol = [IO.Directory]::CreateDirectory(&amp;quot;C:\Users\$kasutaja\$user&amp;quot;)&lt;br /&gt;
[System.Net.Dns]::GetHostAddresses(&amp;quot;$domain&amp;quot;) | select IPAddressToString | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$A = Get-Date | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
$web | Format-Table StatusCode,ResponseUri,LastModified | Out-file $fol\ipaadress.txt -append&lt;br /&gt;
if ($email.IndexOf(“@”) -lt 0) {&lt;br /&gt;
Write-Host “Ei sobi selline aadress!”&lt;br /&gt;
} else {&lt;br /&gt;
Write-Host “Sobiv aadress!”&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&amp;diff=32665</id>
		<title>Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&amp;diff=32665"/>
		<updated>2011-05-24T06:43:44Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
&lt;br /&gt;
=Kodutööd 2011, PowerShell=&lt;br /&gt;
Siia tulevad siis kokkuvõtted..&lt;br /&gt;
==Jaan Igamees==&lt;br /&gt;
Lühike jutt, mida skript teeb... bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla. &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Jaan Igamees, kavalskript]]&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm==&lt;br /&gt;
&lt;br /&gt;
Arvutiinfo: Skript leiab arvuti seadeid ja konfiguratsiooni puudutava info (arvuti nimi, mälu hulk, protsessoritüüp jne) ning väljastab selle &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Kaido Loonurm, PCinfo.ps1]]&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos==&lt;br /&gt;
Ühendatud ketaste info&lt;br /&gt;
&lt;br /&gt;
[[User:Iambos]]&lt;br /&gt;
&lt;br /&gt;
==Vadim Vinogradin==&lt;br /&gt;
Ping skript&lt;br /&gt;
#Skript, mis kontrollib, saidi IP-aadressi töötamine. &lt;br /&gt;
#Kui töötab, siis kirjutab andmeid C:\ping.txt failisse, kui ei tööta, siis  kirjutab andmeid C:\ping.txt failisse ja teavitab e-maili kaudu.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vadim Vinogradin, Ping skript]]&lt;br /&gt;
&lt;br /&gt;
==Tarmo Trumm==&lt;br /&gt;
Skript mis otsib üles kindla laiendiga failid, mis on x päeva vanad ja kustutab need.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Tarmo Trumm,Kustutame x-päeva vanad failid]]&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets==&lt;br /&gt;
Skript, mis muudab võrgukaardi MAC aadressi.&lt;br /&gt;
&lt;br /&gt;
[[User:Trohumet]]&lt;br /&gt;
&lt;br /&gt;
==Sergei Gorjunov==&lt;br /&gt;
Skript, mis loob uut kasutajat&lt;br /&gt;
&lt;br /&gt;
[[User:Sgorjuno]]&lt;br /&gt;
&lt;br /&gt;
==Karet Rikko==&lt;br /&gt;
Skript võtab kõikide kasutajate home folderite suuruse ning sorteerib suuruse järgi ning kirjutab kasutajanime ning kasutatud suuruse faili.&lt;br /&gt;
&lt;br /&gt;
[[User:Krikko]]&lt;br /&gt;
&lt;br /&gt;
==Vladimir Kolesnik==&lt;br /&gt;
&lt;br /&gt;
Skript, mis kuvab kõike protsesse, mille mälu on üle 1MB ja vormistab sisend faili HTML kujul&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vladimir Kolesnik, maluCheck]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
Skript, mis kontrollib kas ettemääratud protsess töötab või ei.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vladimir Kolesnik, minuProtsess]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Lisaks saab leida siin: [[User:vkolesni]]&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok==&lt;br /&gt;
skript, mis küsib emaili, eraldab sellest user ja domeeni. Uurib välja domeeni ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle info arvutikasutaja folderisse txt faili koos kellajaga millal küsiti.&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32652</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32652"/>
		<updated>2011-05-23T18:38:34Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1.2&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32649</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32649"/>
		<updated>2011-05-23T18:14:38Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	try:&lt;br /&gt;
		cache = Cache()&lt;br /&gt;
		package = cache[tark]&lt;br /&gt;
    		package.mark_install(), cache.commit()&lt;br /&gt;
	except KeyError:&lt;br /&gt;
		print &amp;quot;Sellist programmi pole!&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32646</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32646"/>
		<updated>2011-05-23T17:58:33Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
user = os.getuid()&lt;br /&gt;
if user != 0:&lt;br /&gt;
	print &amp;quot;Et programmi jooksutada pead olema root oigustega!&amp;quot;, exit(1)&lt;br /&gt;
else:&lt;br /&gt;
	tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
	devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
	retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
	devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	cache = Cache()&lt;br /&gt;
	package = cache[tark]&lt;br /&gt;
    	package.mark_install(), cache.commit()&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32642</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=32642"/>
		<updated>2011-05-23T17:36:09Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Skript paki installi kontrolliks,kui puudub pakub sul installida&lt;br /&gt;
import os, subprocess&lt;br /&gt;
from apt import Cache&lt;br /&gt;
tark = raw_input(&amp;quot;Tere palun sisesta programmi nimi, mida soovite kontrollida: &amp;quot;)&lt;br /&gt;
devnull = open(os.devnull,&amp;quot;w&amp;quot;)&lt;br /&gt;
retval = subprocess.call([&amp;quot;dpkg&amp;quot;,&amp;quot;-s&amp;quot;,tark],stdout=devnull,stderr=subprocess.STDOUT)&lt;br /&gt;
devnull.close()&lt;br /&gt;
if retval != 0:&lt;br /&gt;
    print &amp;quot;Package&amp;quot;, tark, &amp;quot;ei ole installitud.&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Package&amp;quot;, tark, &amp;quot;on juba installitud&amp;quot;, exit(1)&lt;br /&gt;
kys = raw_input(&amp;quot;Kas soovite seda programmi installida? [jah/ei]&amp;quot;)&lt;br /&gt;
if kys == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	kys2 = raw_input(&amp;quot;Olete te kindlad? [jah/ei]&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Head aega siis&amp;quot;, exit(1)&lt;br /&gt;
if kys2 == &amp;quot;jah&amp;quot;:&lt;br /&gt;
	cache = Cache()&lt;br /&gt;
	package = cache[tark]&lt;br /&gt;
    	package.mark_install(), cache.commit()&lt;br /&gt;
else:&lt;br /&gt;
	print &amp;quot;Olgu, head aega siis!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=32408</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=32408"/>
		<updated>2011-05-21T08:42:35Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Skoop&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Teema on mõeldud, mitte päris algajale, sest lausetes on suhteliselt keerulisi väljendeid ja mingeid baas asju võiks teada enne kui teemat lugeda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn[http://en.wikipedia.org/wiki/David_Korn_(computer_scientist)]&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Kornshelli keel disainiti ja arendati David G. Korni poolt AT&amp;amp;T Bell laboris. See on interaktiivne käsukeel, mis võimaldab ligipääsu UNIXi süsteemi ja mitmesse muusse süsteemi, mitmetel erinevatel arvutitel ja töökohtadel kuhu see on rakendatud. Kornshelli keel on lisaks veel täielik, võimas, kõrge tasemega programeerimis keel, millega rakendusi kirjutada, tihti palju kergemini ja kiiremini kui teiste kõrge tasemeliste keeltega.See teeb selle eriti sobivaks prototüübide jaoks. On ka kaks teist laialdaselt kasutatud shelli, Borune Shell, mis on arendatud Steven Bourne samuti AT&amp;amp;T Bell laboris ja C shell, mis on arendatud Bill Joy poolt Kalifornia Ülikoolis. KSH’l on neist mõlemast paremad võimalused, lisaks mitmed tema enda lisa võimalused.Seega KSH saab teha palju, et suurendada sinu produktiivsust ja kvaliteeti töös, nii süsteemiga suhtlemises kui ka programeerimises. Ksh programme on lihtsam kirjutada ja nad on sisutihedamad ja loetavamad kui programmid mis on kirjutada madalama taseme keeles nagu näiteks C.&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Algteadmised ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shelli tüübi defineerimine:&#039;&#039;&#039;&lt;br /&gt;
Et teha ksh skript(mis on ksh program), loo uus fail, mis algab nii:&lt;br /&gt;
 #!/usr/bin/ksh&lt;br /&gt;
&lt;br /&gt;
Väga tähtis, et rada ksh´le on õige ja et real poleks rohkem, kui 32 märki. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skripti algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skript algab esimeselt realt ja lõppeb siis kui ta kohtab „exit´it“ või viimast rida, kõik # ignoreeritakse&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Käsu algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Käsk algab esimesest sõnast real või kui see on teine käsk real siis esimene sõna peale „;“. Käsk lõppeb kas rea lõpus või „;“, nii et saab panna mitu käsku ühele reale.&lt;br /&gt;
&lt;br /&gt;
 print -n &amp;quot;Name: &amp;quot;; read name; print &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Käske võib jätkata ka järgmiselt realt kasutades „\“ mille kohe järgneb uue rea sümbol, võib olla „return“ klahv:&lt;br /&gt;
&lt;br /&gt;
 grep filename | sort -u | awk &#039;{print $4}&#039; | \&lt;br /&gt;
 uniq -c &amp;gt;&amp;gt; /longpath/file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IF&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline tinglause on „if“&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 else&lt;br /&gt;
 	print something failed&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Kui $? Muutuja on võrdne 0´ga, siis (THEN) prindi välja sõnum, muuljuhul (else), prindi välja teine sõnum. FYI, „$?“ kontrollib väljumise staatust viimasel jooksutatud käsul.&lt;br /&gt;
&lt;br /&gt;
Viimane „fi“ on nõutud. See lubab sul grupeerida mitmeid asju kokku. Sa võid panna mitmeid asju ifi ja else vahele või else ja fi vahele või mõlema. Sa võid üldse else ära jätta. Kui ei vaja alternatiivi.&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 	print We can do as much as we like here&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Case&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Case väide funktsioneerib nagu muutus(switch) mõnes muus keeles. Andes kindel muutuja, hüppab kindlale koodiosale, mille määrab ära muutuja väärtus.&lt;br /&gt;
Kuigi süntaks on sarnane C´ga väliselt on mõned suured erinevused.&lt;br /&gt;
&lt;br /&gt;
*muutuja mida kontrollitakse võib olla string, mitte lihtsalt number&lt;br /&gt;
&lt;br /&gt;
*Ei ole mingit läbi kukkumist „fall through“ ;;’ga, sa saad ainult ühe komplekti käske. Kui sa just ei kasuta „;&amp;amp;“ „;;“ asemel.&lt;br /&gt;
&lt;br /&gt;
*et heastada seda et läbi kukkumist pole saad sa jagada muutuja seisundit.&lt;br /&gt;
&lt;br /&gt;
*saad kasutada metamärki „wildcard“ et sobitada stringe&lt;br /&gt;
&lt;br /&gt;
 echo input yes or no&lt;br /&gt;
 read  answer&lt;br /&gt;
 case $answer in&lt;br /&gt;
 	yes|Yes|y)&lt;br /&gt;
 		echo got a positive answer&lt;br /&gt;
 		# the following &#039;;;&#039; is mandatory for every set&lt;br /&gt;
 		# of comparative xxx)  that you do&lt;br /&gt;
 		;;&lt;br /&gt;
 	no)&lt;br /&gt;
 		echo got a &#039;no&#039;&lt;br /&gt;
 		;;&lt;br /&gt;
 	q*|Q*)&lt;br /&gt;
 		#assume the user wants to quit&lt;br /&gt;
 		exit&lt;br /&gt;
 		;;&lt;br /&gt;
 		&lt;br /&gt;
 	*)&lt;br /&gt;
 		echo This is the default clause. we are not sure why or&lt;br /&gt;
 		echo what someone would be typing, but we could take&lt;br /&gt;
 		echo action on it here&lt;br /&gt;
 		;;&lt;br /&gt;
 Esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline sõlm on kui/samas(while) sõlm, „kui“ midagi on tõene jätka sõlme.&lt;br /&gt;
&lt;br /&gt;
On kaks viisi kuidas sõlme peatada. Kõige loogilisem viis on nii, et kui midagi pole enam tõene. Teine viis on kasutada „break“ käsku.&lt;br /&gt;
&lt;br /&gt;
 keeplooping=1;&lt;br /&gt;
 while [[ $keeplooping -eq 1 ]] ; do&lt;br /&gt;
 	read quitnow&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;yes&amp;quot; ]] ; then&lt;br /&gt;
 		keeplooping=0&lt;br /&gt;
 	fi&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;q&amp;quot; ]] ; then&lt;br /&gt;
 		break;&lt;br /&gt;
 	fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Until&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teine sõlme tüüp ksh´s on „until“. Nende erinevus on see, et „while“ jätab sõlme käima seni kuni midagi jääb truuks. „until“ teeb sõlme seni kuni midagi mis on vale läheb tõeks.&lt;br /&gt;
&lt;br /&gt;
 until [[ $stopnow -eq 1 ]] ; do&lt;br /&gt;
 	echo just run this once&lt;br /&gt;
 	stopnow=1;&lt;br /&gt;
 	echo we should not be here again.&lt;br /&gt;
 Done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
„for“ loop on limiteeritud sõlm. See teeb sõlme kindla arv kordi, et vastata kindlale asjade hulgale. Kui sa kord alustad sõlme siis kordus on fikseeritud.&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam süntaks on:&lt;br /&gt;
&lt;br /&gt;
 for var in one two three ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Mis iganes nime sa paned „var“ asemele, uuendatakse iga väärtusega mis järgneb „in“´le. Nii et eelnev sõlm prindib välja:&lt;br /&gt;
&lt;br /&gt;
 one&lt;br /&gt;
 two&lt;br /&gt;
 three&lt;br /&gt;
&lt;br /&gt;
Aga sa saad ka muutujad, mis määravad ära asjade nimekirja. Neid kontrollitakse ainult ühe korra, kui sa alustad sõlme:&lt;br /&gt;
&lt;br /&gt;
 list=&amp;quot;one two three&amp;quot;&lt;br /&gt;
 for var in $list ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 	# Note: Changing this does NOT affect the loop items&lt;br /&gt;
 	list=&amp;quot;nolist&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Kaks asja mida tähele tuleks panna:&lt;br /&gt;
1.	It stills prints out &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &lt;br /&gt;
2.	 Do NOT quote &amp;quot;$list&amp;quot;, if you want the &#039;for&#039; command to use multiple items&lt;br /&gt;
&lt;br /&gt;
Kui sa kasutad „$list“ „for“ real, siis ta prindib välja üksiku rea, „one two three“.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edasijõudnud muutujate kasutamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Braces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vahepeal sa tahad kohe muutujale järgneda stringiga. See võib põhjustada probleeme, kui sa kasutad tavalist õigekirja „echo $a“, et kasutada muutuja, kuna ksh standartina, üritab „targasti“ parsing muutujate nimes, aga ta ei oska su mõtteid lugeda.&lt;br /&gt;
&lt;br /&gt;
Võrdle järgneva kolme rea erinevusi:&lt;br /&gt;
 two=2&lt;br /&gt;
 print one$twothree&lt;br /&gt;
 print one${two}three&lt;br /&gt;
&lt;br /&gt;
Sellist muutujat nagu „twothree“ ei eksisteeri, siis ksh muudab selle tühjaks väärtuseks, esimeses prinditavad reas. Aga kui sa kasutada trakse „{„ et ksh´le selgesõnaliselt näidata. {see on muutuja nimi}&lt;br /&gt;
Siis ta mõistab et sa tahad muutujat nimega „two“, oleks laiendatud nende kahe tähe keskel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jah sa saad kasutada „Array“´sid ksh´s, mitte nagu vanades bourne shellides. Süntaks on järgnev:&lt;br /&gt;
&lt;br /&gt;
 # This is an OPTIONAL way to quickly null out prior values&lt;br /&gt;
 set -A array&lt;br /&gt;
 #&lt;br /&gt;
 array[1]=&amp;quot;one&amp;quot;&lt;br /&gt;
 array[2]=&amp;quot;two&amp;quot;&lt;br /&gt;
 array[3]=&amp;quot;three&amp;quot;&lt;br /&gt;
 three=3&lt;br /&gt;
 print ${array[1]}&lt;br /&gt;
 print ${array[2]}&lt;br /&gt;
 print ${array[3]}&lt;br /&gt;
 print ${array[three]}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erilised muutujad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On mõned „erilised“ muutujad ksh´s, millele ksh ise annab väärtused. Siin on mõned huvitavad:&lt;br /&gt;
&lt;br /&gt;
PWD- alati hetkel kasutuses olev kataloog&lt;br /&gt;
&lt;br /&gt;
RANDOM- erinev number igakord kui sa seda kasutad.&lt;br /&gt;
&lt;br /&gt;
$$- hetkel kasutuses oleva protsessi number&lt;br /&gt;
&lt;br /&gt;
PPID- „vanema protsessi“ ID (aga mitte alati kasutatav funktsioonides)&lt;br /&gt;
&lt;br /&gt;
$?- lahkumise käsk viimaselt käsult, mida skript käivitas.&lt;br /&gt;
&lt;br /&gt;
PS1- sinu „prompt“. „PS1-&amp;gt;`$PWD:&amp;gt;`“ on huvitav&lt;br /&gt;
&lt;br /&gt;
$1 kuni $9 – väited 1 kuni 9 edasi antud sinu skriptile või funktsioonile (tegelikult võivad suuremad numbrid olla aga sa pead kasutama trakse selle jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
== Kornshelli võimaluste kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Kornshell kõige arenenum shell versioon mida „ametlikult“ jagatakse UNIX süsteemis.&lt;br /&gt;
Töö kontroll(Job Controll) koosneb fg ja bg käskudest ja võimalusest peatada töö CTRL-Z´ga&lt;br /&gt;
&lt;br /&gt;
Aliases, mis lubab defineerida kiirkirja nimesid või käske ja käsuridasid&lt;br /&gt;
&lt;br /&gt;
Funktsioonid(osades C shell versioonides ka), mis suurendab programeerimis võimalust ja võimaldab salvestada sinu shelli koodi mälus selle asemel, et failides&lt;br /&gt;
&lt;br /&gt;
Käsu ajalugu(Command history) lubab sul esile kutsuda eelnevalt sisestatud käske&lt;br /&gt;
&lt;br /&gt;
Käsurea muutmine(Command-line editing), mis lubab sul kasutada vi või emacs –stiili käsu muutmiseks käsureal&lt;br /&gt;
&lt;br /&gt;
Integreeritud programeerimise võimalus(Integrated programming features), mitme välis UNIX käsu funktsionaalsus, mis sisaldab test, expr, getopt ja echo. On integreeritud shelli sisse, mis võimaldab tavapäraseid programeerimis tegevusi teha puhtalt ja ilma, et peaks eraldi protsesse tegema&lt;br /&gt;
&lt;br /&gt;
Kontrolli struktuuri(Control structure) eriti „select“ konstruktsioon, mis võimaldab lihtsalt menüüd genereerida.&lt;br /&gt;
Debugging primitiive(Debugging primitives), mis võimaldab kirjutada tööriistu, mis aitavad programeerijatel debug nende shelli koodi&lt;br /&gt;
&lt;br /&gt;
Regulaarsed väljendid(Regular expressions)- hästi teada UNIXi utiliitide kasutajatele nagu näiteks grep ja awk on lisatud standart failinimede wildcardi kogudele ja shelli muutujate rajatistele&lt;br /&gt;
&lt;br /&gt;
Arenenud I/O lisad(Advanced I/O features) sisaldab võimalust teha kahte-pidi kommunikatsiooni koos samaaegsete protsessidega&lt;br /&gt;
&lt;br /&gt;
Uued võimalused ja muutujad, mis annab sulle rohkem võimalusi muuta enda keskkonda&lt;br /&gt;
&lt;br /&gt;
Suurendatud kiirus- shelli koodi käivitamisel&lt;br /&gt;
&lt;br /&gt;
Turva võimalused- Aitab kaitsa Trooja hobuste ja teiste pahade sisse tungimis skeemide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
&lt;br /&gt;
Ivar Krustok&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=32407</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=32407"/>
		<updated>2011-05-21T08:41:14Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Skoop&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Teema on mõeldud, mitte päris algajale, sest lausetes on suhteliselt keerulisi väljendeid ja mingeid baas asju võiks teada enne kui teemat lugeda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn[http://en.wikipedia.org/wiki/David_Korn_(computer_scientist)]&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Kornshelli keel disainiti ja arendati David G. Korni poolt AT&amp;amp;T Bell laboris. See on interaktiivne käsukeel, mis võimaldab ligipääsu UNIXi süsteemi ja mitmesse muusse süsteemi, mitmetel erinevatel arvutitel ja töökohtadel kuhu see on rakendatud. Kornshelli keel on lisaks veel täielik, võimas, kõrge tasemega programeerimis keel, millega rakendusi kirjutada, tihti palju kergemini ja kiiremini kui teiste kõrge tasemeliste keeltega.See teeb selle eriti sobivaks prototüübide jaoks. On ka kaks teist laialdaselt kasutatud shelli, Borune Shell, mis on arendatud Steven Bourne samuti AT&amp;amp;T Bell laboris ja C shell, mis on arendatud Bill Joy poolt Kalifornia Ülikoolis. KSH’l on neist mõlemast paremad võimalused, lisaks mitmed tema enda lisa võimalused.Seega KSH saab teha palju, et suurendada sinu produktiivsust ja kvaliteeti töös, nii süsteemiga suhtlemises kui ka programeerimises. Ksh programme on lihtsam kirjutada ja nad on sisutihedamad ja loetavamad kui programmid mis on kirjutada madalama taseme keeles nagu näiteks C.&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kornshelli võimaluste kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Kornshell kõige arenenum shell versioon mida „ametlikult“ jagatakse UNIX süsteemis.&lt;br /&gt;
Töö kontroll(Job Controll) koosneb fg ja bg käskudest ja võimalusest peatada töö CTRL-Z´ga&lt;br /&gt;
&lt;br /&gt;
Aliases, mis lubab defineerida kiirkirja nimesid või käske ja käsuridasid&lt;br /&gt;
&lt;br /&gt;
Funktsioonid(osades C shell versioonides ka), mis suurendab programeerimis võimalust ja võimaldab salvestada sinu shelli koodi mälus selle asemel, et failides&lt;br /&gt;
&lt;br /&gt;
Käsu ajalugu(Command history) lubab sul esile kutsuda eelnevalt sisestatud käske&lt;br /&gt;
&lt;br /&gt;
Käsurea muutmine(Command-line editing), mis lubab sul kasutada vi või emacs –stiili käsu muutmiseks käsureal&lt;br /&gt;
&lt;br /&gt;
Integreeritud programeerimise võimalus(Integrated programming features), mitme välis UNIX käsu funktsionaalsus, mis sisaldab test, expr, getopt ja echo. On integreeritud shelli sisse, mis võimaldab tavapäraseid programeerimis tegevusi teha puhtalt ja ilma, et peaks eraldi protsesse tegema&lt;br /&gt;
&lt;br /&gt;
Kontrolli struktuuri(Control structure) eriti „select“ konstruktsioon, mis võimaldab lihtsalt menüüd genereerida.&lt;br /&gt;
Debugging primitiive(Debugging primitives), mis võimaldab kirjutada tööriistu, mis aitavad programeerijatel debug nende shelli koodi&lt;br /&gt;
&lt;br /&gt;
Regulaarsed väljendid(Regular expressions)- hästi teada UNIXi utiliitide kasutajatele nagu näiteks grep ja awk on lisatud standart failinimede wildcardi kogudele ja shelli muutujate rajatistele&lt;br /&gt;
&lt;br /&gt;
Arenenud I/O lisad(Advanced I/O features) sisaldab võimalust teha kahte-pidi kommunikatsiooni koos samaaegsete protsessidega&lt;br /&gt;
&lt;br /&gt;
Uued võimalused ja muutujad, mis annab sulle rohkem võimalusi muuta enda keskkonda&lt;br /&gt;
&lt;br /&gt;
Suurendatud kiirus- shelli koodi käivitamisel&lt;br /&gt;
&lt;br /&gt;
Turva võimalused- Aitab kaitsa Trooja hobuste ja teiste pahade sisse tungimis skeemide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Algteadmised ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shelli tüübi defineerimine:&#039;&#039;&#039;&lt;br /&gt;
Et teha ksh skript(mis on ksh program), loo uus fail, mis algab nii:&lt;br /&gt;
 #!/usr/bin/ksh&lt;br /&gt;
&lt;br /&gt;
Väga tähtis, et rada ksh´le on õige ja et real poleks rohkem, kui 32 märki. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skripti algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skript algab esimeselt realt ja lõppeb siis kui ta kohtab „exit´it“ või viimast rida, kõik # ignoreeritakse&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Käsu algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Käsk algab esimesest sõnast real või kui see on teine käsk real siis esimene sõna peale „;“. Käsk lõppeb kas rea lõpus või „;“, nii et saab panna mitu käsku ühele reale.&lt;br /&gt;
&lt;br /&gt;
 print -n &amp;quot;Name: &amp;quot;; read name; print &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Käske võib jätkata ka järgmiselt realt kasutades „\“ mille kohe järgneb uue rea sümbol, võib olla „return“ klahv:&lt;br /&gt;
&lt;br /&gt;
 grep filename | sort -u | awk &#039;{print $4}&#039; | \&lt;br /&gt;
 uniq -c &amp;gt;&amp;gt; /longpath/file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IF&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline tinglause on „if“&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 else&lt;br /&gt;
 	print something failed&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Kui $? Muutuja on võrdne 0´ga, siis (THEN) prindi välja sõnum, muuljuhul (else), prindi välja teine sõnum. FYI, „$?“ kontrollib väljumise staatust viimasel jooksutatud käsul.&lt;br /&gt;
&lt;br /&gt;
Viimane „fi“ on nõutud. See lubab sul grupeerida mitmeid asju kokku. Sa võid panna mitmeid asju ifi ja else vahele või else ja fi vahele või mõlema. Sa võid üldse else ära jätta. Kui ei vaja alternatiivi.&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 	print We can do as much as we like here&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Case&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Case väide funktsioneerib nagu muutus(switch) mõnes muus keeles. Andes kindel muutuja, hüppab kindlale koodiosale, mille määrab ära muutuja väärtus.&lt;br /&gt;
Kuigi süntaks on sarnane C´ga väliselt on mõned suured erinevused.&lt;br /&gt;
&lt;br /&gt;
*muutuja mida kontrollitakse võib olla string, mitte lihtsalt number&lt;br /&gt;
&lt;br /&gt;
*Ei ole mingit läbi kukkumist „fall through“ ;;’ga, sa saad ainult ühe komplekti käske. Kui sa just ei kasuta „;&amp;amp;“ „;;“ asemel.&lt;br /&gt;
&lt;br /&gt;
*et heastada seda et läbi kukkumist pole saad sa jagada muutuja seisundit.&lt;br /&gt;
&lt;br /&gt;
*saad kasutada metamärki „wildcard“ et sobitada stringe&lt;br /&gt;
&lt;br /&gt;
 echo input yes or no&lt;br /&gt;
 read  answer&lt;br /&gt;
 case $answer in&lt;br /&gt;
 	yes|Yes|y)&lt;br /&gt;
 		echo got a positive answer&lt;br /&gt;
 		# the following &#039;;;&#039; is mandatory for every set&lt;br /&gt;
 		# of comparative xxx)  that you do&lt;br /&gt;
 		;;&lt;br /&gt;
 	no)&lt;br /&gt;
 		echo got a &#039;no&#039;&lt;br /&gt;
 		;;&lt;br /&gt;
 	q*|Q*)&lt;br /&gt;
 		#assume the user wants to quit&lt;br /&gt;
 		exit&lt;br /&gt;
 		;;&lt;br /&gt;
 		&lt;br /&gt;
 	*)&lt;br /&gt;
 		echo This is the default clause. we are not sure why or&lt;br /&gt;
 		echo what someone would be typing, but we could take&lt;br /&gt;
 		echo action on it here&lt;br /&gt;
 		;;&lt;br /&gt;
 Esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline sõlm on kui/samas(while) sõlm, „kui“ midagi on tõene jätka sõlme.&lt;br /&gt;
&lt;br /&gt;
On kaks viisi kuidas sõlme peatada. Kõige loogilisem viis on nii, et kui midagi pole enam tõene. Teine viis on kasutada „break“ käsku.&lt;br /&gt;
&lt;br /&gt;
 keeplooping=1;&lt;br /&gt;
 while [[ $keeplooping -eq 1 ]] ; do&lt;br /&gt;
 	read quitnow&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;yes&amp;quot; ]] ; then&lt;br /&gt;
 		keeplooping=0&lt;br /&gt;
 	fi&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;q&amp;quot; ]] ; then&lt;br /&gt;
 		break;&lt;br /&gt;
 	fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Until&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teine sõlme tüüp ksh´s on „until“. Nende erinevus on see, et „while“ jätab sõlme käima seni kuni midagi jääb truuks. „until“ teeb sõlme seni kuni midagi mis on vale läheb tõeks.&lt;br /&gt;
&lt;br /&gt;
 until [[ $stopnow -eq 1 ]] ; do&lt;br /&gt;
 	echo just run this once&lt;br /&gt;
 	stopnow=1;&lt;br /&gt;
 	echo we should not be here again.&lt;br /&gt;
 Done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
„for“ loop on limiteeritud sõlm. See teeb sõlme kindla arv kordi, et vastata kindlale asjade hulgale. Kui sa kord alustad sõlme siis kordus on fikseeritud.&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam süntaks on:&lt;br /&gt;
&lt;br /&gt;
 for var in one two three ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Mis iganes nime sa paned „var“ asemele, uuendatakse iga väärtusega mis järgneb „in“´le. Nii et eelnev sõlm prindib välja:&lt;br /&gt;
&lt;br /&gt;
 one&lt;br /&gt;
 two&lt;br /&gt;
 three&lt;br /&gt;
&lt;br /&gt;
Aga sa saad ka muutujad, mis määravad ära asjade nimekirja. Neid kontrollitakse ainult ühe korra, kui sa alustad sõlme:&lt;br /&gt;
&lt;br /&gt;
 list=&amp;quot;one two three&amp;quot;&lt;br /&gt;
 for var in $list ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 	# Note: Changing this does NOT affect the loop items&lt;br /&gt;
 	list=&amp;quot;nolist&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Kaks asja mida tähele tuleks panna:&lt;br /&gt;
1.	It stills prints out &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &lt;br /&gt;
2.	 Do NOT quote &amp;quot;$list&amp;quot;, if you want the &#039;for&#039; command to use multiple items&lt;br /&gt;
&lt;br /&gt;
Kui sa kasutad „$list“ „for“ real, siis ta prindib välja üksiku rea, „one two three“.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edasijõudnud muutujate kasutamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Braces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vahepeal sa tahad kohe muutujale järgneda stringiga. See võib põhjustada probleeme, kui sa kasutad tavalist õigekirja „echo $a“, et kasutada muutuja, kuna ksh standartina, üritab „targasti“ parsing muutujate nimes, aga ta ei oska su mõtteid lugeda.&lt;br /&gt;
&lt;br /&gt;
Võrdle järgneva kolme rea erinevusi:&lt;br /&gt;
 two=2&lt;br /&gt;
 print one$twothree&lt;br /&gt;
 print one${two}three&lt;br /&gt;
&lt;br /&gt;
Sellist muutujat nagu „twothree“ ei eksisteeri, siis ksh muudab selle tühjaks väärtuseks, esimeses prinditavad reas. Aga kui sa kasutada trakse „{„ et ksh´le selgesõnaliselt näidata. {see on muutuja nimi}&lt;br /&gt;
Siis ta mõistab et sa tahad muutujat nimega „two“, oleks laiendatud nende kahe tähe keskel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jah sa saad kasutada „Array“´sid ksh´s, mitte nagu vanades bourne shellides. Süntaks on järgnev:&lt;br /&gt;
&lt;br /&gt;
 # This is an OPTIONAL way to quickly null out prior values&lt;br /&gt;
 set -A array&lt;br /&gt;
 #&lt;br /&gt;
 array[1]=&amp;quot;one&amp;quot;&lt;br /&gt;
 array[2]=&amp;quot;two&amp;quot;&lt;br /&gt;
 array[3]=&amp;quot;three&amp;quot;&lt;br /&gt;
 three=3&lt;br /&gt;
 print ${array[1]}&lt;br /&gt;
 print ${array[2]}&lt;br /&gt;
 print ${array[3]}&lt;br /&gt;
 print ${array[three]}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erilised muutujad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On mõned „erilised“ muutujad ksh´s, millele ksh ise annab väärtused. Siin on mõned huvitavad:&lt;br /&gt;
&lt;br /&gt;
PWD- alati hetkel kasutuses olev kataloog&lt;br /&gt;
&lt;br /&gt;
RANDOM- erinev number igakord kui sa seda kasutad.&lt;br /&gt;
&lt;br /&gt;
$$- hetkel kasutuses oleva protsessi number&lt;br /&gt;
&lt;br /&gt;
PPID- „vanema protsessi“ ID (aga mitte alati kasutatav funktsioonides)&lt;br /&gt;
&lt;br /&gt;
$?- lahkumise käsk viimaselt käsult, mida skript käivitas.&lt;br /&gt;
&lt;br /&gt;
PS1- sinu „prompt“. „PS1-&amp;gt;`$PWD:&amp;gt;`“ on huvitav&lt;br /&gt;
&lt;br /&gt;
$1 kuni $9 – väited 1 kuni 9 edasi antud sinu skriptile või funktsioonile (tegelikult võivad suuremad numbrid olla aga sa pead kasutama trakse selle jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
&lt;br /&gt;
Ivar Krustok&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=32127</id>
		<title>Operatsioonisüsteemide referaadid 2011 kevad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=32127"/>
		<updated>2011-05-17T08:12:14Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: /* Ivar Krustok A22 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kaugõpe=&lt;br /&gt;
==Rene Albin AK31==&lt;br /&gt;
[[nginx]] -Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Lembit Elmik AK21==						&lt;br /&gt;
==Aleksei Issaikin AK21==&lt;br /&gt;
[[Ubuntu Serveri Install OS admin laborite tegemiseks]] - Parandamisel &lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:FreeBSD_Packet_Filter_tulem%C3%BC%C3%BCriga FreeBSD Packet Filter tulemüüriga] - Hinnang sisse kantud [[User:Mernits|Mernits]] 12:33, 7 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Andre Jõgi AK21==					&lt;br /&gt;
==Pavel Kodotšigov AK22==&lt;br /&gt;
&lt;br /&gt;
[[FreeBSD Packet Filter tulemüüriga]] - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:Htop htop]&lt;br /&gt;
&lt;br /&gt;
Hinded sisse kantud  [[User:Mernits|Mernits]] 12:29, 7 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Ivo Kruusamäe AK21==&lt;br /&gt;
&lt;br /&gt;
[[Gzip]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Cat]]&lt;br /&gt;
&lt;br /&gt;
==Andres Kõrvemaa AK21==&lt;br /&gt;
&lt;br /&gt;
[[Dig]] - Valmis ülevaatamiseks 19:24, 17 Aprill 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Gzip]] --[[User:akorvema|akorvema]] 18:27, 8 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Lauri Liibert AK21==&lt;br /&gt;
[[Sertifikaadid]] Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Bonnie%2B%2B]]&lt;br /&gt;
&lt;br /&gt;
==Siim Kullerkupp AK21==&lt;br /&gt;
[[Bonnie++]] Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Märt Lindre AK21==&lt;br /&gt;
&lt;br /&gt;
[[Linux saalealaa ehk swap]] [[User:Mlindre|Mlindre]] 15:27, 15 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsentseerija : [[User:Hvosujal|Hvosujal]] 10:01 16.05.2011&lt;br /&gt;
&lt;br /&gt;
==Rasmus Linnamäe AK22==&lt;br /&gt;
[[ Netcat]] Valmis ülevaatamiseks 22:40, 17 Aprill 2011 (EEST)			&lt;br /&gt;
==Priit Lume AK31==&lt;br /&gt;
&lt;br /&gt;
[[Tshark]] ülevaatamiseks valmis 22:45, 17 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Restsensioon [https://wiki.itcollege.ee/index.php/Talk:Date[Date]]&lt;br /&gt;
&lt;br /&gt;
==Tiit Maripuu AK22==&lt;br /&gt;
&lt;br /&gt;
[[inetd]] (valmis hindamiseks ja arvustamiseks 10.05.11)&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Iozone]]&lt;br /&gt;
&lt;br /&gt;
==Marko Megerild AK21==						&lt;br /&gt;
==Artur Mölter AK22==&lt;br /&gt;
[[Iozone]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Margus Nairis AK31==&lt;br /&gt;
&lt;br /&gt;
[[Wireshark]] Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
==Karel Niine AK22==&lt;br /&gt;
[[PXE boot]] (Preboot Execution Environment)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Dig]] --[[User:Kniine|Kniine]] 21:18, 4 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Ulvar Petmanson AK22==&lt;br /&gt;
[[Signaalid ja kill]]&lt;br /&gt;
&lt;br /&gt;
==Märten Rodes AK22==&lt;br /&gt;
[[htop]]&lt;br /&gt;
&lt;br /&gt;
Hinnatud [[Talk:PXE boot]]&lt;br /&gt;
&lt;br /&gt;
==Tanel Štaub AK22==					&lt;br /&gt;
==Alvar Teearu AK31==&lt;br /&gt;
KVM tegemisel, valmib järgmise nädala jooksul&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KVM]&lt;br /&gt;
&lt;br /&gt;
==Aleksei Timošenko AK21==&lt;br /&gt;
=Päevaõpe=&lt;br /&gt;
&lt;br /&gt;
==Rasmus Aav A21==&lt;br /&gt;
==Pavel Abin 12==&lt;br /&gt;
==Allar Adoberg A22==&lt;br /&gt;
[[VirtualBoxi võrgud]] - Hindamiseks valmis.&lt;br /&gt;
&lt;br /&gt;
Retsensioon - https://wiki.itcollege.ee/index.php/Talk:Dpkg&lt;br /&gt;
&lt;br /&gt;
==Arvi Alamaa A21==&lt;br /&gt;
[[apticron]] - valmis ülevaatamiseks 02.05.2011 - Hindab Meelis Tamm pooleli&amp;lt;br&amp;gt; &lt;br /&gt;
Retsensioon - [https://wiki.itcollege.ee/index.php/Talk:Debiani_paki_loomine Debiani paki loomine] 15.05.2011&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos A22==&lt;br /&gt;
[[Munin]] valmis ülevaatamiseks. (retsenseerib Sten Vaisma A22)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [https://wiki.itcollege.ee/index.php/Talk:Adduser_%26_useradd adduser ja useradd]&lt;br /&gt;
&lt;br /&gt;
==Sergei Gorjunov A21==&lt;br /&gt;
[[Port knocking]] ülevaatamiseks valmis&lt;br /&gt;
&lt;br /&gt;
[[Talk:Port_knocking]] Risto Siitan&lt;br /&gt;
&lt;br /&gt;
==Merili Gutmann A31==&lt;br /&gt;
[[Lsof]] on valmis ülevaatamiseks.(Hindab Arto)&lt;br /&gt;
-- 12:59, 1 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsentsioon: [https://wiki.itcollege.ee/index.php/Talk:OpenNode OpenNode] Retsensioon on valmis!&lt;br /&gt;
&lt;br /&gt;
==Rene Haavre A32==	&lt;br /&gt;
[[Samurai_WTF]]					&lt;br /&gt;
==Kristjan Kalder A22==&lt;br /&gt;
==Kadri Kalme A22==&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Snort Snort] valmis&lt;br /&gt;
&lt;br /&gt;
==Alfi Kannus A21==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Iptables . Töö täieneb.&lt;br /&gt;
&lt;br /&gt;
==Oliver Kilk A21==&lt;br /&gt;
[[Mkdir - Linux/Unix süsteemides]] - &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User_talk:Msuursal Hinnatud] Meelis Suursalu&lt;br /&gt;
&lt;br /&gt;
Retsentsioon: [https://wiki.itcollege.ee/index.php/Talk:CUPS]&lt;br /&gt;
&lt;br /&gt;
==Nikolai Klõga G11==&lt;br /&gt;
==Reio Kokla A31==&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
Retsenseerib: Tavo Toomemägi [A41]&lt;br /&gt;
&lt;br /&gt;
==Vladimir Kolesnik A22==&lt;br /&gt;
&lt;br /&gt;
Referaat: [[init]] - valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Linux/Unix_faili%C3%B5igused Linux/Unix failiõigused] valmis&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok A22==&lt;br /&gt;
[[Ksh]] // retsenseeris Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Load_average Load Average] valmis&lt;br /&gt;
&lt;br /&gt;
==Katrin Kukk A22==	&lt;br /&gt;
&lt;br /&gt;
[[Tcpdump]] - valmis ülevaatamiseks -- 22:17, 24 April 2011 (EEST) &lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Hwclock]]  -  valmis -- 20:05, 13 May 2011 (EEST)&lt;br /&gt;
==Rain Kõrgmaa A22==						&lt;br /&gt;
==Siim Kängsepp A22==&lt;br /&gt;
&lt;br /&gt;
[[LVM]] - Valmis&lt;br /&gt;
&lt;br /&gt;
retsenseerin - [[Talk:kill]]&lt;br /&gt;
&lt;br /&gt;
Retsensioon valmis [[Talk:LVM]] --[[User:Klaid|Klaid]] 16:25, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Urmo Laaneots A21==						&lt;br /&gt;
==Karel Laid A31==&lt;br /&gt;
[[Puppet]] Valmis 01.05.2011&lt;br /&gt;
&lt;br /&gt;
==Henrik Leinola A22==&lt;br /&gt;
&lt;br /&gt;
[[Manpremo]]&lt;br /&gt;
&lt;br /&gt;
==Kaspar Leivo A41==							&lt;br /&gt;
==Juhan Liiva A21==&lt;br /&gt;
[[PS1]] valmis ülevaatamiseks // 19:47 15.05 muudatused sisse viidud - Referaat hinnatud 10:08 16.05&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:Ksh retsensioon&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm A41==&lt;br /&gt;
[[Load_average]] - valmis ülevaatamiseks -- 12:17, 24 April 2011 (EEST)&lt;br /&gt;
Teemat retsenseerib: Ivar Krustok&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:mkfs]] --[[User:Kloonurm|Kloonurm]] 22:03, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Urmas Luuk A22==						&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Packetfence]]&lt;br /&gt;
&lt;br /&gt;
==Andres Mill A22==&lt;br /&gt;
Valmis referaat: [[chmod]]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Chmod Talk:Chmod] Hinnatud (Vadim Vinogradin) - valmis&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Enos.itcollege.ee_failidele_ligipääs_GNOME/KDE_abil]]&lt;br /&gt;
&lt;br /&gt;
==Janar Märjama A22==	&lt;br /&gt;
[[Zentyal]] - Valmis kontrollimiseks.&lt;br /&gt;
&lt;br /&gt;
Retsensioon - [[Signaalid ja kill]]&lt;br /&gt;
&lt;br /&gt;
==Kairo Ostapenko A31==							&lt;br /&gt;
==Kristjan Pajumaa A22==							&lt;br /&gt;
==Ilja Peters 12==&lt;br /&gt;
[[VMware_Server]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:RPM_Package_Manager RPM Package Manager] - Arvustus&lt;br /&gt;
&lt;br /&gt;
==Veiko Pilt A31==&lt;br /&gt;
[[Tarkvara_haldus_yum_baasil]] - valmis ülevaatamiseks - 02.05.2011&amp;lt;br&amp;gt;&lt;br /&gt;
Hinnatud: [[Talk:Tarkvara_haldus_yum_baasil]] Andres Sumin					&lt;br /&gt;
==Jagnar Pindmaa A31==							&lt;br /&gt;
==Priit Pobbul A22==&lt;br /&gt;
[[Echo]] - valmis &lt;br /&gt;
Retsensioon - tulemas						&lt;br /&gt;
==Arina Püvi A21==							&lt;br /&gt;
==Karet Rikko A21==&lt;br /&gt;
[[NTFS vs Ext4]] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Tshark]]&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets A21==&lt;br /&gt;
Referaat: [[Adduser &amp;amp; useradd]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Hinnatud.[[Talk:Adduser &amp;amp; useradd]]&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Wget]]&lt;br /&gt;
&lt;br /&gt;
==Taavi Salumets A21==&lt;br /&gt;
[[Logrotate]] - valmis ülevaatamiseks - 02.05.2011						&lt;br /&gt;
==Risto Siitan A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Partimage Partimage] -valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Port_knocking Port Knocking] Retsensioon&lt;br /&gt;
&lt;br /&gt;
==Oliver Soom A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Debiani_paki_loomine  Debiani paki loomine] valmis ülevaatamiseks&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:BURG Retsentsioon BURG&#039;i teemal] &amp;lt;b&amp;gt;Valmis&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kaspar Steinberg A32==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Kill - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
Retsenseerib Siim Kängsepp&lt;br /&gt;
&lt;br /&gt;
==Andres Sumin A22==	&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Dpkg - Valmis ülevaatamiseks!&amp;lt;br&amp;gt;&lt;br /&gt;
Teemat retsenseerib: Allar Adoberg&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:Tarkvara_haldus_yum_baasil - Retsensioon teemal Tarkvara haldus yum baasil&lt;br /&gt;
&lt;br /&gt;
==Meelis Suursalu A22==&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/User_talk:Msuursal mkdir]&lt;br /&gt;
&lt;br /&gt;
==Meelis Tamm A21==&lt;br /&gt;
[[Enos.itcollege.ee failidele ligipääs GNOME/KDE abil]] - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
Hinnatud [[User:Amill|Amill]] 16:12, 16 May 2011 (EEST).&lt;br /&gt;
&lt;br /&gt;
==Ott Telga A31==						&lt;br /&gt;
==Tavo Toomemägi A41==	&lt;br /&gt;
[[Wget]] ülevaatamiseks valmis 00:36, 03 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Hinnatud [[Talk:Wget]]					&lt;br /&gt;
==Tarmo Trumm A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Date Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Timo Trummer A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Hwclock - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:Tcpdump - retsensioon&lt;br /&gt;
&lt;br /&gt;
==Olle Tuur A22==&lt;br /&gt;
&lt;br /&gt;
==Arto Vaas A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/OpenNode - valmis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsentsioon: [https://wiki.itcollege.ee/index.php/Talk:OpenNode OpenNode] Retsensioon on valmis! (Merili Gutmann)&lt;br /&gt;
&lt;br /&gt;
==Andres Vaher A22==						&lt;br /&gt;
==Jaan Vahtre A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/BURG - valmis ülevaatuseks &amp;lt;b&amp;gt;Hinnatud&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:PS1#Kokkuv.C3.B5te - Tehtud retsensioon.&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vaik A21==	&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux_boot_protsess Linux buutimise protsess]					&lt;br /&gt;
==Sten Vaisma A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux/Unix_faili%C3%B5igused Linux/Unix failiõigused] - valmis ülevaatuseks | Hinnatud [https://wiki.itcollege.ee/index.php/Talk:Linux/Unix_faili%C3%B5igused Talk:Linux/Unix failiõigused] valmis 18:06, 16 May 2011 (Vladimir Kolesnik)&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Munin https://wiki.itcollege.ee/index.php/Talk:Munin]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vask A21==	&lt;br /&gt;
[[CUPS]] - pooleli&lt;br /&gt;
&lt;br /&gt;
Hetkel hinnatud 14:38:2011 (EEST) 16.05.2011 &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:CUPS]&lt;br /&gt;
&lt;br /&gt;
==Vadim Vinogradin A21==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/RPM_Package_Manager RPM Package Manager] - Hinnatud&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Chmod Chmod] - retsensioon&lt;br /&gt;
&lt;br /&gt;
==Heigo Võsujalg A21==&lt;br /&gt;
[[Synaptic Package Manager]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsentsioon : [[Linux saalealaa ehk swap]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Väljako A21==&lt;br /&gt;
[[Packetfence]] - Valmis ülevaatamiseks  | Hinnatud&lt;br /&gt;
&lt;br /&gt;
Retsentsioon : [[Partimage]]&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=32126</id>
		<title>Operatsioonisüsteemide referaadid 2011 kevad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=32126"/>
		<updated>2011-05-17T08:11:22Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: /* Ivar Krustok A22 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kaugõpe=&lt;br /&gt;
==Rene Albin AK31==&lt;br /&gt;
[[nginx]] -Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Lembit Elmik AK21==						&lt;br /&gt;
==Aleksei Issaikin AK21==&lt;br /&gt;
[[Ubuntu Serveri Install OS admin laborite tegemiseks]] - Parandamisel &lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:FreeBSD_Packet_Filter_tulem%C3%BC%C3%BCriga FreeBSD Packet Filter tulemüüriga] - Hinnang sisse kantud [[User:Mernits|Mernits]] 12:33, 7 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Andre Jõgi AK21==					&lt;br /&gt;
==Pavel Kodotšigov AK22==&lt;br /&gt;
&lt;br /&gt;
[[FreeBSD Packet Filter tulemüüriga]] - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:Htop htop]&lt;br /&gt;
&lt;br /&gt;
Hinded sisse kantud  [[User:Mernits|Mernits]] 12:29, 7 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Ivo Kruusamäe AK21==&lt;br /&gt;
&lt;br /&gt;
[[Gzip]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Cat]]&lt;br /&gt;
&lt;br /&gt;
==Andres Kõrvemaa AK21==&lt;br /&gt;
&lt;br /&gt;
[[Dig]] - Valmis ülevaatamiseks 19:24, 17 Aprill 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Gzip]] --[[User:akorvema|akorvema]] 18:27, 8 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Lauri Liibert AK21==&lt;br /&gt;
[[Sertifikaadid]] Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Bonnie%2B%2B]]&lt;br /&gt;
&lt;br /&gt;
==Siim Kullerkupp AK21==&lt;br /&gt;
[[Bonnie++]] Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Märt Lindre AK21==&lt;br /&gt;
&lt;br /&gt;
[[Linux saalealaa ehk swap]] [[User:Mlindre|Mlindre]] 15:27, 15 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsentseerija : [[User:Hvosujal|Hvosujal]] 10:01 16.05.2011&lt;br /&gt;
&lt;br /&gt;
==Rasmus Linnamäe AK22==&lt;br /&gt;
[[ Netcat]] Valmis ülevaatamiseks 22:40, 17 Aprill 2011 (EEST)			&lt;br /&gt;
==Priit Lume AK31==&lt;br /&gt;
&lt;br /&gt;
[[Tshark]] ülevaatamiseks valmis 22:45, 17 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Restsensioon [https://wiki.itcollege.ee/index.php/Talk:Date[Date]]&lt;br /&gt;
&lt;br /&gt;
==Tiit Maripuu AK22==&lt;br /&gt;
&lt;br /&gt;
[[inetd]] (valmis hindamiseks ja arvustamiseks 10.05.11)&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Iozone]]&lt;br /&gt;
&lt;br /&gt;
==Marko Megerild AK21==						&lt;br /&gt;
==Artur Mölter AK22==&lt;br /&gt;
[[Iozone]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Margus Nairis AK31==&lt;br /&gt;
&lt;br /&gt;
[[Wireshark]] Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
==Karel Niine AK22==&lt;br /&gt;
[[PXE boot]] (Preboot Execution Environment)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Dig]] --[[User:Kniine|Kniine]] 21:18, 4 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Ulvar Petmanson AK22==&lt;br /&gt;
[[Signaalid ja kill]]&lt;br /&gt;
&lt;br /&gt;
==Märten Rodes AK22==&lt;br /&gt;
[[htop]]&lt;br /&gt;
&lt;br /&gt;
Hinnatud [[Talk:PXE boot]]&lt;br /&gt;
&lt;br /&gt;
==Tanel Štaub AK22==					&lt;br /&gt;
==Alvar Teearu AK31==&lt;br /&gt;
KVM tegemisel, valmib järgmise nädala jooksul&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KVM]&lt;br /&gt;
&lt;br /&gt;
==Aleksei Timošenko AK21==&lt;br /&gt;
=Päevaõpe=&lt;br /&gt;
&lt;br /&gt;
==Rasmus Aav A21==&lt;br /&gt;
==Pavel Abin 12==&lt;br /&gt;
==Allar Adoberg A22==&lt;br /&gt;
[[VirtualBoxi võrgud]] - Hindamiseks valmis.&lt;br /&gt;
&lt;br /&gt;
Retsensioon - https://wiki.itcollege.ee/index.php/Talk:Dpkg&lt;br /&gt;
&lt;br /&gt;
==Arvi Alamaa A21==&lt;br /&gt;
[[apticron]] - valmis ülevaatamiseks 02.05.2011 - Hindab Meelis Tamm pooleli&amp;lt;br&amp;gt; &lt;br /&gt;
Retsensioon - [https://wiki.itcollege.ee/index.php/Talk:Debiani_paki_loomine Debiani paki loomine] 15.05.2011&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos A22==&lt;br /&gt;
[[Munin]] valmis ülevaatamiseks. (retsenseerib Sten Vaisma A22)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [https://wiki.itcollege.ee/index.php/Talk:Adduser_%26_useradd adduser ja useradd]&lt;br /&gt;
&lt;br /&gt;
==Sergei Gorjunov A21==&lt;br /&gt;
[[Port knocking]] ülevaatamiseks valmis&lt;br /&gt;
&lt;br /&gt;
[[Talk:Port_knocking]] Risto Siitan&lt;br /&gt;
&lt;br /&gt;
==Merili Gutmann A31==&lt;br /&gt;
[[Lsof]] on valmis ülevaatamiseks.(Hindab Arto)&lt;br /&gt;
-- 12:59, 1 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsentsioon: [https://wiki.itcollege.ee/index.php/Talk:OpenNode OpenNode] Retsensioon on valmis!&lt;br /&gt;
&lt;br /&gt;
==Rene Haavre A32==	&lt;br /&gt;
[[Samurai_WTF]]					&lt;br /&gt;
==Kristjan Kalder A22==&lt;br /&gt;
==Kadri Kalme A22==&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Snort Snort] valmis&lt;br /&gt;
&lt;br /&gt;
==Alfi Kannus A21==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Iptables . Töö täieneb.&lt;br /&gt;
&lt;br /&gt;
==Oliver Kilk A21==&lt;br /&gt;
[[Mkdir - Linux/Unix süsteemides]] - &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User_talk:Msuursal Hinnatud] Meelis Suursalu&lt;br /&gt;
&lt;br /&gt;
Retsentsioon: [https://wiki.itcollege.ee/index.php/Talk:CUPS]&lt;br /&gt;
&lt;br /&gt;
==Nikolai Klõga G11==&lt;br /&gt;
==Reio Kokla A31==&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
Retsenseerib: Tavo Toomemägi [A41]&lt;br /&gt;
&lt;br /&gt;
==Vladimir Kolesnik A22==&lt;br /&gt;
&lt;br /&gt;
Referaat: [[init]] - valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Linux/Unix_faili%C3%B5igused Linux/Unix failiõigused] valmis&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok A22==&lt;br /&gt;
[[Ksh]] // retsenseeris Juhan Liiva&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Load_average Load Average] valmis&lt;br /&gt;
&lt;br /&gt;
==Katrin Kukk A22==	&lt;br /&gt;
&lt;br /&gt;
[[Tcpdump]] - valmis ülevaatamiseks -- 22:17, 24 April 2011 (EEST) &lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Hwclock]]  -  valmis -- 20:05, 13 May 2011 (EEST)&lt;br /&gt;
==Rain Kõrgmaa A22==						&lt;br /&gt;
==Siim Kängsepp A22==&lt;br /&gt;
&lt;br /&gt;
[[LVM]] - Valmis&lt;br /&gt;
&lt;br /&gt;
retsenseerin - [[Talk:kill]]&lt;br /&gt;
&lt;br /&gt;
Retsensioon valmis [[Talk:LVM]] --[[User:Klaid|Klaid]] 16:25, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Urmo Laaneots A21==						&lt;br /&gt;
==Karel Laid A31==&lt;br /&gt;
[[Puppet]] Valmis 01.05.2011&lt;br /&gt;
&lt;br /&gt;
==Henrik Leinola A22==&lt;br /&gt;
&lt;br /&gt;
[[Manpremo]]&lt;br /&gt;
&lt;br /&gt;
==Kaspar Leivo A41==							&lt;br /&gt;
==Juhan Liiva A21==&lt;br /&gt;
[[PS1]] valmis ülevaatamiseks // 19:47 15.05 muudatused sisse viidud - Referaat hinnatud 10:08 16.05&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:Ksh retsensioon&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm A41==&lt;br /&gt;
[[Load_average]] - valmis ülevaatamiseks -- 12:17, 24 April 2011 (EEST)&lt;br /&gt;
Teemat retsenseerib: Ivar Krustok&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:mkfs]] --[[User:Kloonurm|Kloonurm]] 22:03, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Urmas Luuk A22==						&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Packetfence]]&lt;br /&gt;
&lt;br /&gt;
==Andres Mill A22==&lt;br /&gt;
Valmis referaat: [[chmod]]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Chmod Talk:Chmod] Hinnatud (Vadim Vinogradin) - valmis&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Enos.itcollege.ee_failidele_ligipääs_GNOME/KDE_abil]]&lt;br /&gt;
&lt;br /&gt;
==Janar Märjama A22==	&lt;br /&gt;
[[Zentyal]] - Valmis kontrollimiseks.&lt;br /&gt;
&lt;br /&gt;
Retsensioon - [[Signaalid ja kill]]&lt;br /&gt;
&lt;br /&gt;
==Kairo Ostapenko A31==							&lt;br /&gt;
==Kristjan Pajumaa A22==							&lt;br /&gt;
==Ilja Peters 12==&lt;br /&gt;
[[VMware_Server]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:RPM_Package_Manager RPM Package Manager] - Arvustus&lt;br /&gt;
&lt;br /&gt;
==Veiko Pilt A31==&lt;br /&gt;
[[Tarkvara_haldus_yum_baasil]] - valmis ülevaatamiseks - 02.05.2011&amp;lt;br&amp;gt;&lt;br /&gt;
Hinnatud: [[Talk:Tarkvara_haldus_yum_baasil]] Andres Sumin					&lt;br /&gt;
==Jagnar Pindmaa A31==							&lt;br /&gt;
==Priit Pobbul A22==&lt;br /&gt;
[[Echo]] - valmis &lt;br /&gt;
Retsensioon - tulemas						&lt;br /&gt;
==Arina Püvi A21==							&lt;br /&gt;
==Karet Rikko A21==&lt;br /&gt;
[[NTFS vs Ext4]] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Tshark]]&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets A21==&lt;br /&gt;
Referaat: [[Adduser &amp;amp; useradd]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Hinnatud.[[Talk:Adduser &amp;amp; useradd]]&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Wget]]&lt;br /&gt;
&lt;br /&gt;
==Taavi Salumets A21==&lt;br /&gt;
[[Logrotate]] - valmis ülevaatamiseks - 02.05.2011						&lt;br /&gt;
==Risto Siitan A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Partimage Partimage] -valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Port_knocking Port Knocking] Retsensioon&lt;br /&gt;
&lt;br /&gt;
==Oliver Soom A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Debiani_paki_loomine  Debiani paki loomine] valmis ülevaatamiseks&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:BURG Retsentsioon BURG&#039;i teemal] &amp;lt;b&amp;gt;Valmis&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kaspar Steinberg A32==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Kill - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
Retsenseerib Siim Kängsepp&lt;br /&gt;
&lt;br /&gt;
==Andres Sumin A22==	&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Dpkg - Valmis ülevaatamiseks!&amp;lt;br&amp;gt;&lt;br /&gt;
Teemat retsenseerib: Allar Adoberg&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:Tarkvara_haldus_yum_baasil - Retsensioon teemal Tarkvara haldus yum baasil&lt;br /&gt;
&lt;br /&gt;
==Meelis Suursalu A22==&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/User_talk:Msuursal mkdir]&lt;br /&gt;
&lt;br /&gt;
==Meelis Tamm A21==&lt;br /&gt;
[[Enos.itcollege.ee failidele ligipääs GNOME/KDE abil]] - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
Hinnatud [[User:Amill|Amill]] 16:12, 16 May 2011 (EEST).&lt;br /&gt;
&lt;br /&gt;
==Ott Telga A31==						&lt;br /&gt;
==Tavo Toomemägi A41==	&lt;br /&gt;
[[Wget]] ülevaatamiseks valmis 00:36, 03 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Hinnatud [[Talk:Wget]]					&lt;br /&gt;
==Tarmo Trumm A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Date Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Timo Trummer A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Hwclock - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:Tcpdump - retsensioon&lt;br /&gt;
&lt;br /&gt;
==Olle Tuur A22==&lt;br /&gt;
&lt;br /&gt;
==Arto Vaas A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/OpenNode - valmis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsentsioon: [https://wiki.itcollege.ee/index.php/Talk:OpenNode OpenNode] Retsensioon on valmis! (Merili Gutmann)&lt;br /&gt;
&lt;br /&gt;
==Andres Vaher A22==						&lt;br /&gt;
==Jaan Vahtre A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/BURG - valmis ülevaatuseks &amp;lt;b&amp;gt;Hinnatud&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:PS1#Kokkuv.C3.B5te - Tehtud retsensioon.&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vaik A21==	&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux_boot_protsess Linux buutimise protsess]					&lt;br /&gt;
==Sten Vaisma A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux/Unix_faili%C3%B5igused Linux/Unix failiõigused] - valmis ülevaatuseks | Hinnatud [https://wiki.itcollege.ee/index.php/Talk:Linux/Unix_faili%C3%B5igused Talk:Linux/Unix failiõigused] valmis 18:06, 16 May 2011 (Vladimir Kolesnik)&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Munin https://wiki.itcollege.ee/index.php/Talk:Munin]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vask A21==	&lt;br /&gt;
[[CUPS]] - pooleli&lt;br /&gt;
&lt;br /&gt;
Hetkel hinnatud 14:38:2011 (EEST) 16.05.2011 &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:CUPS]&lt;br /&gt;
&lt;br /&gt;
==Vadim Vinogradin A21==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/RPM_Package_Manager RPM Package Manager] - Hinnatud&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Chmod Chmod] - retsensioon&lt;br /&gt;
&lt;br /&gt;
==Heigo Võsujalg A21==&lt;br /&gt;
[[Synaptic Package Manager]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsentsioon : [[Linux saalealaa ehk swap]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Väljako A21==&lt;br /&gt;
[[Packetfence]] - Valmis ülevaatamiseks  | Hinnatud&lt;br /&gt;
&lt;br /&gt;
Retsentsioon : [[Partimage]]&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=32125</id>
		<title>Talk:Load average</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=32125"/>
		<updated>2011-05-17T08:10:27Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tekstil on olemas kenasti sissejuhatus, kellele mõeldud artikkel on ja lühikeselt kirjeldatud mis infot artiklist saab&lt;br /&gt;
&lt;br /&gt;
Kui millegi üle nuriseda üldse saab väga siis on just artikli pikkus. Vaadates läbi ta kasutatud materjal avastasin, et sealt saaks veel materjali mida siia võiks kenasti juurde lisada. Kuigi on lühikene ei saa väita, et teema käsitlus pole sisutihe, väga kenasti saab aru mis asi on load average ja mille jaoks ma seda kasutada saan.&lt;br /&gt;
&lt;br /&gt;
Välja on toodud näited ja nendele on juurde lisatud seletus, mis on äärmiselt positiivne, sest muidu oleksid suvalised numbrid millest peaks ise läbi hammustama. Väga meeldib, autode näide sest seda peaks mõistma isegi inimesed, kes väga ei tegele arvutiga aga tunnevad huvi.&lt;br /&gt;
&lt;br /&gt;
Võiks olla mõned käsud veel kuidas load averaget rohkem kombineerida, kui selleks vajadus peaks tekkima.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõte on väga hästi tehtud. On aru saada et isik kes selle artikli koostas sai ise ka aru mida ta kirjutab ja milleks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hindamisskaala:&lt;br /&gt;
&amp;lt;pre&amp;gt;Ülesehitus             1     2   Enamik põhiosasid olid olemas, aga teema käsitlus oli natuke lühidalt&lt;br /&gt;
Sisukord               1     1   Olemas&lt;br /&gt;
Sissejuhatus           1     1   Olemas&lt;br /&gt;
Skoop                  1     1   Olemas&lt;br /&gt;
Käskude väljatoomine  0,25   0,5  On näidatud paari käsku&lt;br /&gt;
Teksti loetavus        1     1   Tekst liigendatud&lt;br /&gt;
Õigekiri, keelekasutus 1     1   Kenasti loetav ja mõistetav&lt;br /&gt;
Arusaam jutust         1,25     1,25   Väga lihtsa näitega on selgitatud mis on load average&lt;br /&gt;
Kokkuvõte              0,5    0,5  Kenasti kokku võetud, nii et saab enamvähem aru millest jutt kui kokkuvõtet lugeda&lt;br /&gt;
Kasutatud kirjandus   0,25   0,5  Olemas, aga pole autorit taha märgitud&lt;br /&gt;
&lt;br /&gt;
Kokku                   8.5 10&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=32124</id>
		<title>Talk:Load average</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=32124"/>
		<updated>2011-05-17T08:02:52Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tekstil on olemas kenasti sissejuhatus, kellele mõeldud artikkel on ja lühikeselt kirjeldatud mis infot artiklist saab&lt;br /&gt;
&lt;br /&gt;
Kui millegi üle nuriseda üldse saab väga siis on just artikli pikkus. Vaadates läbi ta kasutatud materjal avastasin, et sealt saaks veel materjali mida siia võiks kenasti juurde lisada. Kuigi on lühikene ei saa väita, et teema käsitlus pole sisutihe, väga kenasti saab aru mis asi on load average ja mille jaoks ma seda kasutada saan.&lt;br /&gt;
&lt;br /&gt;
Välja on toodud näited ja nendele on juurde lisatud seletus, mis on äärmiselt positiivne, sest muidu oleksid suvalised numbrid millest peaks ise läbi hammustama. &lt;br /&gt;
&lt;br /&gt;
Võiks olla mõned käsud veel kuidas load averaget rohkem kombineerida, kui selleks vajadus peaks tekkima.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõte on väga hästi tehtud. On aru saada et isik kes selle artikli koostas sai ise ka aru mida ta kirjutab ja milleks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hindamisskaala:&lt;br /&gt;
&amp;lt;pre&amp;gt;Ülesehitus             1     2   Enamik põhiosasid olid olemas, aga teema käsitlus oli natuke lühidalt&lt;br /&gt;
Sisukord               1     1   Olemas&lt;br /&gt;
Sissejuhatus           1     1   Olemas&lt;br /&gt;
Skoop                  1     1   Olemas&lt;br /&gt;
Käskude väljatoomine  0,25   0,5  On näidatud paari käsku&lt;br /&gt;
Teksti loetavus        1     1   Tekst liigendatud&lt;br /&gt;
Õigekiri, keelekasutus 1     1   Kenasti loetav ja mõistetav&lt;br /&gt;
Arusaam jutust         1,25     1,25   Väga lihtsa näitega on selgitatud mis on load average&lt;br /&gt;
Kokkuvõte              0,5    0,5  Kenasti kokku võetud, nii et saab enamvähem aru millest jutt kui kokkuvõtet lugeda&lt;br /&gt;
Kasutatud kirjandus   0,25   0,5  Olemas, aga pole autorit taha märgitud&lt;br /&gt;
&lt;br /&gt;
Kokku                   8.5 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pole veel valmis!&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=31898</id>
		<title>Talk:Load average</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Load_average&amp;diff=31898"/>
		<updated>2011-05-16T16:47:41Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: Created page with &amp;#039;Tekstil on olemas kenasti sissejuhatus, kellele mõeldud artikkel on ja lühikeselt kirjeldatud mis infot artiklist saab    Hindamisskaala: &amp;lt;pre&amp;gt;Ülesehitus             1     2  …&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tekstil on olemas kenasti sissejuhatus, kellele mõeldud artikkel on ja lühikeselt kirjeldatud mis infot artiklist saab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hindamisskaala:&lt;br /&gt;
&amp;lt;pre&amp;gt;Ülesehitus             1     2   Enamik põhiosasid olid olemas, aga teema käsitlus oli natuke lühidalt&lt;br /&gt;
Sisukord               1     1   Olemas&lt;br /&gt;
Sissejuhatus           1     1   Olemas&lt;br /&gt;
Skoop                  1     1   Olemas&lt;br /&gt;
Käskude väljatoomine  0,25   0,5  On näidatud paari käsku&lt;br /&gt;
Teksti loetavus        1     1   Tekst liigendatud&lt;br /&gt;
Õigekiri, keelekasutus 1     1   Kenasti loetav ja mõistetav&lt;br /&gt;
Arusaam jutust         1,25     1,25   Väga lihtsa näitega on selgitatud mis on load average&lt;br /&gt;
Kokkuvõte              0,5    0,5  Kenasti kokku võetud, nii et saab enamvähem aru millest jutt kui kokkuvõtet lugeda&lt;br /&gt;
Kasutatud kirjandus   0,25   0,5  Olemas, aga pole autorit taha märgitud&lt;br /&gt;
&lt;br /&gt;
Kokku                   8.5 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pole veel valmis!&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31226</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31226"/>
		<updated>2011-05-12T07:08:58Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
PAKK=$1&lt;br /&gt;
TARK=`/usr/bin/apt-cache policy $PAKK | grep Installed | awk &#039;{print $2}&#039;`&lt;br /&gt;
echo $TARK&lt;br /&gt;
if [ &amp;quot;$TARK&amp;quot; == &amp;quot;(none)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31142</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31142"/>
		<updated>2011-05-11T11:50:41Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 1&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
ARG=$1&lt;br /&gt;
if ! which $ARG &amp;gt; /dev/null; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31130</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31130"/>
		<updated>2011-05-11T10:37:19Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
#Version: 0.2&lt;br /&gt;
#Skript paki installi kontrolliks&lt;br /&gt;
ARG=$1&lt;br /&gt;
if ! which $ARG &amp;gt; /dev/null; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31121</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31121"/>
		<updated>2011-05-11T10:10:51Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 - Skript paki installi kontrolliks ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
ARG=$1&lt;br /&gt;
if ! which $ARG &amp;gt; /dev/null; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31119</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31119"/>
		<updated>2011-05-11T10:09:44Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus 11 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Autor: Ivar Krustok A22, ikrustok@itcollege.ee&lt;br /&gt;
ARG=$1&lt;br /&gt;
if ! which $ARG &amp;gt; /dev/null; then&lt;br /&gt;
        echo &amp;quot;0&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=31117</id>
		<title>Bash quests</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=31117"/>
		<updated>2011-05-11T10:06:30Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 10:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - Leia suured kaustad oma kodukataloogist=&lt;br /&gt;
&lt;br /&gt;
Probleem: Kodukaustast on vaja leida suured kataloogid ja teada, palju nendele ruumu kulub.&lt;br /&gt;
&lt;br /&gt;
Luua skript suuredkaustad.sh&lt;br /&gt;
&lt;br /&gt;
Väljasta kataloogid suuremad kõige alla kujul:&lt;br /&gt;
&lt;br /&gt;
20MB  Allalaadimised&lt;br /&gt;
&lt;br /&gt;
100MB Dokumendid&lt;br /&gt;
&lt;br /&gt;
hint: &#039;&#039;&#039;du -s * | sort -nr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Kakukk|Katrin Kukk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 16:27, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 2=&lt;br /&gt;
Teha skript, mis taastab poolelijäänud tarkvarapaigalduse (apt-get baasil)&lt;br /&gt;
&lt;br /&gt;
Kui näiteks kasutaja tahab midagi installeerida ja talle öeldakse, et eelmine install jäi pooleli (vool läks ära või mis iganes), siis viidaks installeerimine/konfigureerimine lõpuni.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Hvosujal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 13:37, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 3=&lt;br /&gt;
Teha skript, mis eemaldab vanad kernelid (jätab alles kaks viimast). Tulemuseks on grub2 menüüs näha kahe viimase kerneli ridu ja vanade kernelite arvelt hoitakse kettaruumi kokku.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:otuur]]&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Metamm]] - Ei olnud küll esimene, aga kuna sain valmis, siis panen oma lahenduse ka siia&lt;br /&gt;
&lt;br /&gt;
=Quest 4=&lt;br /&gt;
Teha skript, mis ühendab lahti kõik kettajaod/saalealad etteantud kettalt ja kustutab partitsioonid sellelt kettalt.&lt;br /&gt;
&lt;br /&gt;
Skript peab kasutajat hoiatama, et eemaldatakse see ja too kettajagu.&lt;br /&gt;
&lt;br /&gt;
Skript annab vea, kui lahtiühendamine ei õnnestu.&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas kasutajal on piisavalt õiguseid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine: trash.sh &amp;lt;kettas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
näiteks: trash.sh /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Uluuk]]&lt;br /&gt;
&lt;br /&gt;
=Quest 5=&lt;br /&gt;
Teha shell funktsioon, mis kontrollib faili olemasolu ja sellele antud õiguseid&lt;br /&gt;
&lt;br /&gt;
Näiteks on fail rwxrwxrwx /var/kala.txt&lt;br /&gt;
&lt;br /&gt;
funktsioon välja kutsudes argumentidega  /var/kala.txt 777 tagastatakse 0&lt;br /&gt;
Teistel juhtudel:&lt;br /&gt;
1 - faili pole&lt;br /&gt;
2 - omanikul on valed õigused&lt;br /&gt;
3 - grupil on valed õigused&lt;br /&gt;
4 - teistel kasutajatel on valed õigused&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Krikko]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 6=&lt;br /&gt;
Teha skript save-alias, mis töötab nagu käsk alias, kuid salvestab loodud aliase .bashrc faili ja sourceb .bashrc faili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juhtus, et sai valmis:&lt;br /&gt;
[[User:Kkalder|Kkalder]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 12:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 7=&lt;br /&gt;
Looge skript mis lisab kasutaja nimetatud gruppi.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas grupp on juba olemas, vajadusel grupi looma.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.&lt;br /&gt;
&lt;br /&gt;
nt. ./att-to-group.sh kasutajanimi grupinimi&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mlehari]]&lt;br /&gt;
&lt;br /&gt;
=Quest 8=&lt;br /&gt;
Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näideks failidel võivad olla erinevad nimed, kuid sama sisu : &lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  joujou&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  tere&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  hello&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  asd&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Vkolesni]]&lt;br /&gt;
&lt;br /&gt;
=Quest 9 Kasutajanime küsimine ja faili salvestamine=&lt;br /&gt;
Teha skript, mis küsib kasutajanime ja salvestab selle tekstifaili /var/tmp/username&lt;br /&gt;
&lt;br /&gt;
Peale nime küsimist küsib skript kinnitust, et nimi on õige.&lt;br /&gt;
&lt;br /&gt;
Skript kirjutab eelneva faili üle (kui ei saa üle kirjutada, siis annab vea)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:okilk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 10  - Keerukam - Mysql varukoopia tegemise skript (koos installiskriptiga) =&lt;br /&gt;
&lt;br /&gt;
NB: seda skripti võivad teha 3 inimest, kui iga inimene teeb ühe allosa.&lt;br /&gt;
&lt;br /&gt;
Taust: on varundusarvuti ja mysql andmebaasi arvuti. Andmebaasi arvutis töötab mysql server, mille külge otse üle võrgu ühenduda ei saa. Andmevaasist on vaja teha varukoopiaid, mida igapäevalselt kopeeritakse varundusserverisse. Varundusserver algatab kopeerimise ja autentimine käib võtmete abil.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript koosneb kolmest osast.&lt;br /&gt;
&lt;br /&gt;
*Skript, mis on mysql serveris ja käivitatakse cron abil. Skript teeb mydqldump -A ... käsuga koopia /var/varukoopiad kausta ja failinimega &amp;lt;DATE&amp;gt;-mysql-&amp;lt;masinanimi&amp;gt;.sql.gz - seega sisaldab kuupäeva ja masina nime, ning pakitakse kokku.&lt;br /&gt;
&lt;br /&gt;
*Teine skript kopeerib andmebaasiserverist varukoopiad varundusserverisse ja kustutab andmebaasiserverist varukoopiad, mis on vanemad, kui üks kuu&lt;br /&gt;
&lt;br /&gt;
*Kolmas skript on installatsiooniskript. See küsib andmebaasiserveri nime/parooli ja mysql root parooli.&lt;br /&gt;
Skript kopeerib esimese skripti andmebaasiserverisse ja seadistab sealse cron-i seda regulaarselt käivitama. Skript seadistab varundusserveri cron-i regulaarselt käivitama kopeerimise skripti.&lt;br /&gt;
&lt;br /&gt;
=Quest 11 - Skript paki installi kontrolliks=&lt;br /&gt;
Teha skript, mis kontrollib, kas etteantud tarkvarapakk on installeeritud. Kui on installeeritud, siis tagastab 0 ja vastasel juhul 1.&lt;br /&gt;
&lt;br /&gt;
is_installed.sh &amp;lt;pakinimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;br /&gt;
&lt;br /&gt;
=Quest 12 kasutaja/grupi olemasolu testimine=&lt;br /&gt;
&lt;br /&gt;
Teha skriptid is_user.sh is_group.sh mis kontrollivad, kas kasutaja või grupp eksisteerib.&lt;br /&gt;
&lt;br /&gt;
is_user.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is_group.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skriptid tagastavad 0, kui kasutaja/grupp on olemas ja 1 kui kasutajat/gruppi pole.&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Vvinogra]]&lt;br /&gt;
&lt;br /&gt;
=Quest 13 - kas kasutaja kuulub gruppi?=&lt;br /&gt;
&lt;br /&gt;
Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0, kui kuulub ja 1 kui ei kuulu.&lt;br /&gt;
&lt;br /&gt;
user_in_group.sh &amp;lt;kasutaja&amp;gt; &amp;lt;grupp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 14 IP aliase loomine ja salvestamine=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis loob ubuntu serverile IP aliase ja salvestab selle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add_ip.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skript teeb võrgule restardi ja kontrollib, kas IP vastab. (enne võiks pingida, et ip ei vastaks)&lt;br /&gt;
&lt;br /&gt;
=Quest 15 - IP aliase kontroll =&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas Ubuntu serveris on seadistatud etteantud IP alias&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is_ip_alias.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return 0 - alias olemas&lt;br /&gt;
&lt;br /&gt;
return 1 - aliast pole&lt;br /&gt;
&lt;br /&gt;
=Quest 16=&lt;br /&gt;
=Quest 17=&lt;br /&gt;
=Quest 18=&lt;br /&gt;
=Quest 19=&lt;br /&gt;
=Quest 20=&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31084</id>
		<title>User:Ikrustok</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ikrustok&amp;diff=31084"/>
		<updated>2011-05-11T06:58:53Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: Created page with &amp;#039;== Quest lahendus ==&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest lahendus ==&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=30858</id>
		<title>Operatsioonisüsteemide referaadid 2011 kevad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=30858"/>
		<updated>2011-05-09T15:15:04Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kaugõpe=&lt;br /&gt;
==Rene Albin AK31==&lt;br /&gt;
[[nginx]] -Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Lembit Elmik AK21==						&lt;br /&gt;
==Aleksei Issaikin AK21==&lt;br /&gt;
[[Ubuntu Serveri Install OS admin laborite tegemiseks]] - Parandamisel &lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:FreeBSD_Packet_Filter_tulem%C3%BC%C3%BCriga FreeBSD Packet Filter tulemüüriga] - Hinnang sisse kantud [[User:Mernits|Mernits]] 12:33, 7 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Andre Jõgi AK21==					&lt;br /&gt;
==Pavel Kodotšigov AK22==&lt;br /&gt;
&lt;br /&gt;
[[FreeBSD Packet Filter tulemüüriga]] - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:Htop htop]&lt;br /&gt;
&lt;br /&gt;
Hinded sisse kantud  [[User:Mernits|Mernits]] 12:29, 7 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Ivo Kruusamäe AK21==&lt;br /&gt;
&lt;br /&gt;
[[Gzip]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Cat]]&lt;br /&gt;
&lt;br /&gt;
==Andres Kõrvemaa AK21==&lt;br /&gt;
&lt;br /&gt;
[[Dig]] - Valmis ülevaatamiseks 19:24, 17 Aprill 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Gzip]] --[[User:akorvema|akorvema]] 18:27, 8 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Lauri Liibert AK21==&lt;br /&gt;
==Siim Kullerkupp AK21==&lt;br /&gt;
[[Bonnie++]] Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Märt Lindre AK21==&lt;br /&gt;
&lt;br /&gt;
[[Linux saalealaa ehk swap]] [[User:Mlindre|Mlindre]] 15:27, 15 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Rasmus Linnamäe AK22==&lt;br /&gt;
[[ Netcat]] Valmis ülevaatamiseks 22:40, 17 Aprill 2011 (EEST)			&lt;br /&gt;
==Priit Lume AK31==&lt;br /&gt;
&lt;br /&gt;
[[Tshark]] ülevaatamiseks valmis 22:45, 17 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Restsensioon [https://wiki.itcollege.ee/index.php/Talk:Date[Date]]&lt;br /&gt;
&lt;br /&gt;
==Tiit Maripuu AK22==&lt;br /&gt;
&lt;br /&gt;
[[inetd]] (valmib 09.05.11)&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [[Talk:Iozone]]&lt;br /&gt;
&lt;br /&gt;
==Marko Megerild AK21==						&lt;br /&gt;
==Artur Mölter AK22==&lt;br /&gt;
[[Iozone]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Margus Nairis AK31==&lt;br /&gt;
&lt;br /&gt;
[[Wireshark]] Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
==Karel Niine AK22==&lt;br /&gt;
[[PXE boot]] (Preboot Execution Environment)&lt;br /&gt;
&lt;br /&gt;
Retsensioon [[Talk:Dig]] --[[User:Kniine|Kniine]] 21:18, 4 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Ulvar Petmanson AK22==&lt;br /&gt;
[[Signaalid ja kill]]&lt;br /&gt;
&lt;br /&gt;
==Märten Rodes AK22==&lt;br /&gt;
[[htop]]&lt;br /&gt;
&lt;br /&gt;
Hinnatud [[Talk:PXE boot]]&lt;br /&gt;
&lt;br /&gt;
==Tanel Štaub AK22==					&lt;br /&gt;
==Alvar Teearu AK31==&lt;br /&gt;
KVM tegemisel, valmib järgmise nädala jooksul&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KVM]&lt;br /&gt;
&lt;br /&gt;
==Aleksei Timošenko AK21==&lt;br /&gt;
=Päevaõpe=&lt;br /&gt;
&lt;br /&gt;
==Rasmus Aav A21==&lt;br /&gt;
==Pavel Abin 12==&lt;br /&gt;
==Allar Adoberg A22==&lt;br /&gt;
[[VirtualBoxi võrgud]] - Hindamiseks valmis.&lt;br /&gt;
&lt;br /&gt;
==Arvi Alamaa A21==&lt;br /&gt;
[[apticron]] - valmis ülevaatamiseks 02.05.2011&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos A22==&lt;br /&gt;
[[Munin]] valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
==Sergei Gorjunov A21==&lt;br /&gt;
==Merili Gutmann A31==&lt;br /&gt;
[[Lsof]] on valmis ülevaatamiseks.&lt;br /&gt;
-- 12:59, 1 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Retsentsioon: [https://wiki.itcollege.ee/index.php/Talk:OpenNode OpenNode]&lt;br /&gt;
&lt;br /&gt;
==Rene Haavre A32==	&lt;br /&gt;
[[Samurai_WTF]]					&lt;br /&gt;
==Kristjan Kalder A22==&lt;br /&gt;
==Kadri Kalme A22==&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Alfi Kannus A21==&lt;br /&gt;
==Oliver Kilk A21==&lt;br /&gt;
[[Mkdir - Linux/Unix süsteemides]]&lt;br /&gt;
&lt;br /&gt;
==Nikolai Klõga G11==&lt;br /&gt;
==Reio Kokla A31==&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
==Vladimir Kolesnik A22==&lt;br /&gt;
&lt;br /&gt;
[[init]] - valmis&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok A22==&lt;br /&gt;
[[Ksh]] 						&lt;br /&gt;
==Katrin Kukk A22==	&lt;br /&gt;
&lt;br /&gt;
[[Tcpdump]] - valmis ülevaatamiseks -- 22:17, 24 April 2011 (EEST) 			&lt;br /&gt;
==Rain Kõrgmaa A22==						&lt;br /&gt;
==Siim Kängsepp A22==&lt;br /&gt;
&lt;br /&gt;
[[LVM]] - Valmis põhimõtteliselt&lt;br /&gt;
&lt;br /&gt;
==Urmo Laaneots A21==						&lt;br /&gt;
==Karel Laid A31==&lt;br /&gt;
[[Puppet]] Valmis vist 01.05.2011&lt;br /&gt;
&lt;br /&gt;
==Henrik Leinola A22==&lt;br /&gt;
&lt;br /&gt;
[[Manpremo]]&lt;br /&gt;
&lt;br /&gt;
==Kaspar Leivo A41==							&lt;br /&gt;
==Juhan Liiva A21==&lt;br /&gt;
[[PS1]] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm A41==&lt;br /&gt;
[[Load_average]] - valmis ülevaatamiseks -- 12:17, 24 April 2011 (EEST)&lt;br /&gt;
Teemat retsenseerib: Ivar Krustok&lt;br /&gt;
&lt;br /&gt;
==Urmas Luuk A22==						&lt;br /&gt;
==Andres Mill A22==&lt;br /&gt;
Valmis referaat: [[chmod]]&lt;br /&gt;
&lt;br /&gt;
==Janar Märjama A22==	&lt;br /&gt;
[[Zentyal]] - Valmis kontrollimiseks.&lt;br /&gt;
&lt;br /&gt;
==Kairo Ostapenko A31==							&lt;br /&gt;
==Kristjan Pajumaa A22==							&lt;br /&gt;
==Ilja Peters 12==&lt;br /&gt;
[[VMware_Server]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Veiko Pilt A31==&lt;br /&gt;
[[Tarkvara_haldus_yum_baasil]] - valmis ülevaatamiseks - 02.05.2011&amp;lt;br&amp;gt;&lt;br /&gt;
Seda teemat retsenseerib Andres Sumin A22						&lt;br /&gt;
==Jagnar Pindmaa A31==							&lt;br /&gt;
==Priit Pobbul A22==						&lt;br /&gt;
==Arina Püvi A21==							&lt;br /&gt;
==Karet Rikko A21==&lt;br /&gt;
[[NTFS vs Ext4]] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets A21==&lt;br /&gt;
Referaat: [[Adduser &amp;amp; useradd]] - Valmis ülevaatamiseks&lt;br /&gt;
						&lt;br /&gt;
==Taavi Salumets A21==&lt;br /&gt;
[[Logrotate]] - valmis ülevaatamiseks - 02.05.2011						&lt;br /&gt;
==Risto Siitan A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Partimage Partimage] -valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Oliver Soom A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Debiani_paki_loomine  Debiani paki loomine] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Kaspar Steinberg A32==						&lt;br /&gt;
==Andres Sumin A22==	&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Dpkg - Valmis ülevaatamiseks!&lt;br /&gt;
&lt;br /&gt;
Teemat retsenseerib: Allar Adoberg&lt;br /&gt;
&lt;br /&gt;
==Meelis Suursalu A22==							&lt;br /&gt;
==Meelis Tamm A21==&lt;br /&gt;
[[Enos.itcollege.ee failidele ligipääs GNOME/KDE abil]] - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Ott Telga A31==						&lt;br /&gt;
==Tavo Toomemägi A41==	&lt;br /&gt;
[[Wget]] ülevaatamiseks valmis 00:36, 03 April 2011 (EEST)					&lt;br /&gt;
==Taavi Toppi A21==&lt;br /&gt;
&lt;br /&gt;
iptables&lt;br /&gt;
Töö on hetkel koostamisel.&lt;br /&gt;
&lt;br /&gt;
==Tarmo Trumm A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Date Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Timo Trummer A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Hwclock - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Olle Tuur A22==&lt;br /&gt;
Arvutiklassi Linux (valmimisel)&lt;br /&gt;
&lt;br /&gt;
==Arto Vaas A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/OpenNode - valmis&lt;br /&gt;
&lt;br /&gt;
==Andres Vaher A22==						&lt;br /&gt;
==Jaan Vahtre A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/BURG - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vaik A21==	&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux_boot_protsess Linux buutimise protsess]					&lt;br /&gt;
==Sten Vaisma A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux/Unix_faili%C3%B5igused Linux/Unix failiõigused] - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vask A21==						&lt;br /&gt;
==Vadim Vinogradin A21==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/RPM_Package_Manager RPM Package Manager] - valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Heigo Võsujalg A21==&lt;br /&gt;
[[Synaptic Package Manager]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Kristjan Väljako A21==&lt;br /&gt;
[[Packetfence]] - Valmis ülevaatamiseks&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=30082</id>
		<title>Operatsioonisüsteemide referaadid 2011 kevad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_kevad&amp;diff=30082"/>
		<updated>2011-05-03T13:14:17Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kaugõpe=&lt;br /&gt;
==Rene Albin AK31==&lt;br /&gt;
==Lembit Elmik AK21==						&lt;br /&gt;
==Aleksei Issaikin AK21==&lt;br /&gt;
[[Ubuntu Serveri Install]] - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:FreeBSD_Packet_Filter_tulem%C3%BC%C3%BCriga FreeBSD Packet Filter tulemüüriga]&lt;br /&gt;
&lt;br /&gt;
==Andre Jõgi AK21==					&lt;br /&gt;
==Pavel Kodotšigov AK22==&lt;br /&gt;
&lt;br /&gt;
[[FreeBSD Packet Filter tulemüüriga]] - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
Retsents [https://wiki.itcollege.ee/index.php/Talk:Htop htop]&lt;br /&gt;
&lt;br /&gt;
==Ivo Kruusamäe AK21==&lt;br /&gt;
&lt;br /&gt;
[[Gzip]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Andres Kõrvemaa AK21==&lt;br /&gt;
&lt;br /&gt;
[[Dig]] - Valmis ülevaatamiseks 19:24, 17 Aprill 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Lauri Liibert AK21==&lt;br /&gt;
==Siim Kullerkupp AK21==&lt;br /&gt;
[[Bonnie++]] Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Märt Lindre AK21==&lt;br /&gt;
&lt;br /&gt;
[[Linux saalealaa ehk swap]] [[User:Mlindre|Mlindre]] 15:27, 15 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Rasmus Linnamäe AK22==&lt;br /&gt;
[[ Netcat]] Valmis ülevaatamiseks 22:40, 17 Aprill 2011 (EEST)			&lt;br /&gt;
==Priit Lume AK31==&lt;br /&gt;
&lt;br /&gt;
[[Tshark]] ülevaatamiseks valmis 22:45, 17 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Tiit Maripuu AK22==					&lt;br /&gt;
==Marko Megerild AK21==						&lt;br /&gt;
==Artur Mölter AK22==&lt;br /&gt;
[[Iozone]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Margus Nairis AK31==&lt;br /&gt;
&lt;br /&gt;
[[Wireshark]] Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
==Karel Niine AK22==&lt;br /&gt;
[[PXE boot]] (Preboot Execution Environment) - Valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
==Ulvar Petmanson AK22==					&lt;br /&gt;
==Märten Rodes AK22==&lt;br /&gt;
[[htop]] Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Tanel Štaub AK22==					&lt;br /&gt;
==Alvar Teearu AK31==&lt;br /&gt;
KVM tegemisel, valmib järgmise nädala jooksul&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KVM]&lt;br /&gt;
&lt;br /&gt;
==Aleksei Timošenko AK21==&lt;br /&gt;
=Päevaõpe=&lt;br /&gt;
&lt;br /&gt;
==Rasmus Aav A21==&lt;br /&gt;
==Pavel Abin 12==&lt;br /&gt;
==Allar Adoberg A22==&lt;br /&gt;
[[VirtualBoxi võrgud]] - Hindamiseks valmis.&lt;br /&gt;
&lt;br /&gt;
==Arvi Alamaa A21==&lt;br /&gt;
[[apticron]] - valmis ülevaatamiseks 02.05.2011&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos A22==&lt;br /&gt;
[[Munin]] valmis ülevaatamiseks.&lt;br /&gt;
&lt;br /&gt;
==Sergei Gorjunov A21==&lt;br /&gt;
==Merili Gutmann A31==&lt;br /&gt;
[[Lsof]] on valmis ülevaatamiseks.&lt;br /&gt;
-- 12:59, 1 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Rene Haavre A32==	&lt;br /&gt;
[[Samurai_WTF]]					&lt;br /&gt;
==Kristjan Kalder A22==&lt;br /&gt;
==Kadri Kalme A22==&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Alfi Kannus A21==&lt;br /&gt;
==Oliver Kilk A21==&lt;br /&gt;
[[Mkdir - Linux/Unix süsteemides]]&lt;br /&gt;
&lt;br /&gt;
==Nikolai Klõga G11==&lt;br /&gt;
==Reio Kokla A31==&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
==Vladimir Kolesnik A22==&lt;br /&gt;
&lt;br /&gt;
[[init]] - valmis&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok A22==&lt;br /&gt;
[[Ksh]] 						&lt;br /&gt;
==Katrin Kukk A22==	&lt;br /&gt;
&lt;br /&gt;
[[Tcpdump]] - valmis ülevaatamiseks -- 22:17, 24 April 2011 (EEST) 			&lt;br /&gt;
==Rain Kõrgmaa A22==						&lt;br /&gt;
==Siim Kängsepp A22==&lt;br /&gt;
&lt;br /&gt;
[[LVM]] - Valmis põhimõtteliselt&lt;br /&gt;
&lt;br /&gt;
==Urmo Laaneots A21==						&lt;br /&gt;
==Karel Laid A31==&lt;br /&gt;
[[Puppet]] Valmis vist 01.05.2011&lt;br /&gt;
&lt;br /&gt;
==Henrik Leinola A22==&lt;br /&gt;
&lt;br /&gt;
[[Manpremo]]&lt;br /&gt;
&lt;br /&gt;
==Kaspar Leivo A41==							&lt;br /&gt;
==Juhan Liiva A21==&lt;br /&gt;
[[PS1]] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm A41==&lt;br /&gt;
[[Load_average]] - valmis ülevaatamiseks -- 12:17, 24 April 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Urmas Luuk A22==						&lt;br /&gt;
==Andres Mill A22==&lt;br /&gt;
Referaat: [[chmod]]&lt;br /&gt;
&lt;br /&gt;
==Janar Märjama A22==						&lt;br /&gt;
==Kairo Ostapenko A31==							&lt;br /&gt;
==Kristjan Pajumaa A22==							&lt;br /&gt;
==Ilja Peters 12==&lt;br /&gt;
[[VMware_Server]]&lt;br /&gt;
&lt;br /&gt;
==Veiko Pilt A31==&lt;br /&gt;
[[Tarkvara_haldus_yum_baasil]] - valmis ülevaatamiseks - 02.05.2011						&lt;br /&gt;
==Jagnar Pindmaa A31==							&lt;br /&gt;
==Priit Pobbul A22==						&lt;br /&gt;
==Arina Püvi A21==							&lt;br /&gt;
==Karet Rikko A21==&lt;br /&gt;
[[NTFS vs Ext4]] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets A21==&lt;br /&gt;
Referaat: [[Adduser &amp;amp; useradd]] - Valmis ülevaatamiseks&lt;br /&gt;
						&lt;br /&gt;
==Taavi Salumets A21==&lt;br /&gt;
[[Logrotate]] - valmis ülevaatamiseks - 02.05.2011						&lt;br /&gt;
==Risto Siitan A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Partimage Partimage] -valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Oliver Soom A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Debiani_paki_loomine  Debiani paki loomine] valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Kaspar Steinberg A32==						&lt;br /&gt;
==Andres Sumin A22==	&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Dpkg - Valmis ülevaatamiseks!					&lt;br /&gt;
==Meelis Suursalu A22==							&lt;br /&gt;
==Meelis Tamm A21==&lt;br /&gt;
[[Enos.itcollege.ee failidele ligipääs GNOME/KDE abil]] - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Ott Telga A31==						&lt;br /&gt;
==Tavo Toomemägi A41==	&lt;br /&gt;
[[Wget]] ülevaatamiseks valmis 00:36, 03 April 2011 (EEST)					&lt;br /&gt;
==Taavi Toppi A21==&lt;br /&gt;
&lt;br /&gt;
iptables&lt;br /&gt;
Töö on hetkel koostamisel.&lt;br /&gt;
&lt;br /&gt;
==Tarmo Trumm A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Date Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Timo Trummer A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Hwclock - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Olle Tuur A22==&lt;br /&gt;
Arvutiklassi Linux (valmimisel)&lt;br /&gt;
&lt;br /&gt;
==Arto Vaas A32==&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/OpenNode - valmis&lt;br /&gt;
&lt;br /&gt;
==Andres Vaher A22==						&lt;br /&gt;
==Jaan Vahtre A21==&lt;br /&gt;
https://wiki.itcollege.ee/index.php/BURG - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vaik A21==	&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux_boot_protsess Linux buutimise protsess]					&lt;br /&gt;
==Sten Vaisma A22==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Linux/Unix_faili%C3%B5igused Linux/Unix failiõigused] - valmis ülevaatuseks&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vask A21==						&lt;br /&gt;
==Vadim Vinogradin A21==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/RPM_Package_Manager RPM Package Manager] - valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Heigo Võsujalg A21==&lt;br /&gt;
[[Synaptic Package Manager]] - Valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
==Kristjan Väljako A21==&lt;br /&gt;
[[Packetfence]]&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29990</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29990"/>
		<updated>2011-05-03T05:56:50Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn[http://en.wikipedia.org/wiki/David_Korn_(computer_scientist)]&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Kornshelli keel disainiti ja arendati David G. Korni poolt AT&amp;amp;T Bell laboris. See on interaktiivne käsukeel, mis võimaldab ligipääsu UNIXi süsteemi ja mitmesse muusse süsteemi, mitmetel erinevatel arvutitel ja töökohtadel kuhu see on rakendatud. Kornshelli keel on lisaks veel täielik, võimas, kõrge tasemega programeerimis keel, millega rakendusi kirjutada, tihti palju kergemini ja kiiremini kui teiste kõrge tasemeliste keeltega.See teeb selle eriti sobivaks prototüübide jaoks. On ka kaks teist laialdaselt kasutatud shelli, Borune Shell, mis on arendatud Steven Bourne samuti AT&amp;amp;T Bell laboris ja C shell, mis on arendatud Bill Joy poolt Kalifornia Ülikoolis. KSH’l on neist mõlemast paremad võimalused, lisaks mitmed tema enda lisa võimalused.Seega KSH saab teha palju, et suurendada sinu produktiivsust ja kvaliteeti töös, nii süsteemiga suhtlemises kui ka programeerimises. Ksh programme on lihtsam kirjutada ja nad on sisutihedamad ja loetavamad kui programmid mis on kirjutada madalama taseme keeles nagu näiteks C.&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kornshelli võimaluste kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Kornshell kõige arenenum shell versioon mida „ametlikult“ jagatakse UNIX süsteemis.&lt;br /&gt;
Töö kontroll(Job Controll) koosneb fg ja bg käskudest ja võimalusest peatada töö CTRL-Z´ga&lt;br /&gt;
&lt;br /&gt;
Aliases, mis lubab defineerida kiirkirja nimesid või käske ja käsuridasid&lt;br /&gt;
&lt;br /&gt;
Funktsioonid(osades C shell versioonides ka), mis suurendab programeerimis võimalust ja võimaldab salvestada sinu shelli koodi mälus selle asemel, et failides&lt;br /&gt;
&lt;br /&gt;
Käsu ajalugu(Command history) lubab sul esile kutsuda eelnevalt sisestatud käske&lt;br /&gt;
&lt;br /&gt;
Käsurea muutmine(Command-line editing), mis lubab sul kasutada vi või emacs –stiili käsu muutmiseks käsureal&lt;br /&gt;
&lt;br /&gt;
Integreeritud programeerimise võimalus(Integrated programming features), mitme välis UNIX käsu funktsionaalsus, mis sisaldab test, expr, getopt ja echo. On integreeritud shelli sisse, mis võimaldab tavapäraseid programeerimis tegevusi teha puhtalt ja ilma, et peaks eraldi protsesse tegema&lt;br /&gt;
&lt;br /&gt;
Kontrolli struktuuri(Control structure) eriti „select“ konstruktsioon, mis võimaldab lihtsalt menüüd genereerida.&lt;br /&gt;
Debugging primitiive(Debugging primitives), mis võimaldab kirjutada tööriistu, mis aitavad programeerijatel debug nende shelli koodi&lt;br /&gt;
&lt;br /&gt;
Regulaarsed väljendid(Regular expressions)- hästi teada UNIXi utiliitide kasutajatele nagu näiteks grep ja awk on lisatud standart failinimede wildcardi kogudele ja shelli muutujate rajatistele&lt;br /&gt;
&lt;br /&gt;
Arenenud I/O lisad(Advanced I/O features) sisaldab võimalust teha kahte-pidi kommunikatsiooni koos samaaegsete protsessidega&lt;br /&gt;
&lt;br /&gt;
Uued võimalused ja muutujad, mis annab sulle rohkem võimalusi muuta enda keskkonda&lt;br /&gt;
&lt;br /&gt;
Suurendatud kiirus- shelli koodi käivitamisel&lt;br /&gt;
&lt;br /&gt;
Turva võimalused- Aitab kaitsa Trooja hobuste ja teiste pahade sisse tungimis skeemide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Algteadmised ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shelli tüübi defineerimine:&#039;&#039;&#039;&lt;br /&gt;
Et teha ksh skript(mis on ksh program), loo uus fail, mis algab nii:&lt;br /&gt;
 #!/usr/bin/ksh&lt;br /&gt;
&lt;br /&gt;
Väga tähtis, et rada ksh´le on õige ja et real poleks rohkem, kui 32 märki. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skripti algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skript algab esimeselt realt ja lõppeb siis kui ta kohtab „exit´it“ või viimast rida, kõik # ignoreeritakse&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Käsu algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Käsk algab esimesest sõnast real või kui see on teine käsk real siis esimene sõna peale „;“. Käsk lõppeb kas rea lõpus või „;“, nii et saab panna mitu käsku ühele reale.&lt;br /&gt;
&lt;br /&gt;
 print -n &amp;quot;Name: &amp;quot;; read name; print &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Käske võib jätkata ka järgmiselt realt kasutades „\“ mille kohe järgneb uue rea sümbol, võib olla „return“ klahv:&lt;br /&gt;
&lt;br /&gt;
 grep filename | sort -u | awk &#039;{print $4}&#039; | \&lt;br /&gt;
 uniq -c &amp;gt;&amp;gt; /longpath/file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IF&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline tinglause on „if“&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 else&lt;br /&gt;
 	print something failed&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Kui $? Muutuja on võrdne 0´ga, siis (THEN) prindi välja sõnum, muuljuhul (else), prindi välja teine sõnum. FYI, „$?“ kontrollib väljumise staatust viimasel jooksutatud käsul.&lt;br /&gt;
&lt;br /&gt;
Viimane „fi“ on nõutud. See lubab sul grupeerida mitmeid asju kokku. Sa võid panna mitmeid asju ifi ja else vahele või else ja fi vahele või mõlema. Sa võid üldse else ära jätta. Kui ei vaja alternatiivi.&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 	print We can do as much as we like here&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Case&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Case väide funktsioneerib nagu muutus(switch) mõnes muus keeles. Andes kindel muutuja, hüppab kindlale koodiosale, mille määrab ära muutuja väärtus.&lt;br /&gt;
Kuigi süntaks on sarnane C´ga väliselt on mõned suured erinevused.&lt;br /&gt;
&lt;br /&gt;
*muutuja mida kontrollitakse võib olla string, mitte lihtsalt number&lt;br /&gt;
&lt;br /&gt;
*Ei ole mingit läbi kukkumist „fall through“ ;;’ga, sa saad ainult ühe komplekti käske. Kui sa just ei kasuta „;&amp;amp;“ „;;“ asemel.&lt;br /&gt;
&lt;br /&gt;
*et heastada seda et läbi kukkumist pole saad sa jagada muutuja seisundit.&lt;br /&gt;
&lt;br /&gt;
*saad kasutada metamärki „wildcard“ et sobitada stringe&lt;br /&gt;
&lt;br /&gt;
 echo input yes or no&lt;br /&gt;
 read  answer&lt;br /&gt;
 case $answer in&lt;br /&gt;
 	yes|Yes|y)&lt;br /&gt;
 		echo got a positive answer&lt;br /&gt;
 		# the following &#039;;;&#039; is mandatory for every set&lt;br /&gt;
 		# of comparative xxx)  that you do&lt;br /&gt;
 		;;&lt;br /&gt;
 	no)&lt;br /&gt;
 		echo got a &#039;no&#039;&lt;br /&gt;
 		;;&lt;br /&gt;
 	q*|Q*)&lt;br /&gt;
 		#assume the user wants to quit&lt;br /&gt;
 		exit&lt;br /&gt;
 		;;&lt;br /&gt;
 		&lt;br /&gt;
 	*)&lt;br /&gt;
 		echo This is the default clause. we are not sure why or&lt;br /&gt;
 		echo what someone would be typing, but we could take&lt;br /&gt;
 		echo action on it here&lt;br /&gt;
 		;;&lt;br /&gt;
 Esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline sõlm on kui/samas(while) sõlm, „kui“ midagi on tõene jätka sõlme.&lt;br /&gt;
&lt;br /&gt;
On kaks viisi kuidas sõlme peatada. Kõige loogilisem viis on nii, et kui midagi pole enam tõene. Teine viis on kasutada „break“ käsku.&lt;br /&gt;
&lt;br /&gt;
 keeplooping=1;&lt;br /&gt;
 while [[ $keeplooping -eq 1 ]] ; do&lt;br /&gt;
 	read quitnow&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;yes&amp;quot; ]] ; then&lt;br /&gt;
 		keeplooping=0&lt;br /&gt;
 	fi&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;q&amp;quot; ]] ; then&lt;br /&gt;
 		break;&lt;br /&gt;
 	fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Until&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teine sõlme tüüp ksh´s on „until“. Nende erinevus on see, et „while“ jätab sõlme käima seni kuni midagi jääb truuks. „until“ teeb sõlme seni kuni midagi mis on vale läheb tõeks.&lt;br /&gt;
&lt;br /&gt;
 until [[ $stopnow -eq 1 ]] ; do&lt;br /&gt;
 	echo just run this once&lt;br /&gt;
 	stopnow=1;&lt;br /&gt;
 	echo we should not be here again.&lt;br /&gt;
 Done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
„for“ loop on limiteeritud sõlm. See teeb sõlme kindla arv kordi, et vastata kindlale asjade hulgale. Kui sa kord alustad sõlme siis kordus on fikseeritud.&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam süntaks on:&lt;br /&gt;
&lt;br /&gt;
 for var in one two three ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Mis iganes nime sa paned „var“ asemele, uuendatakse iga väärtusega mis järgneb „in“´le. Nii et eelnev sõlm prindib välja:&lt;br /&gt;
&lt;br /&gt;
 one&lt;br /&gt;
 two&lt;br /&gt;
 three&lt;br /&gt;
&lt;br /&gt;
Aga sa saad ka muutujad, mis määravad ära asjade nimekirja. Neid kontrollitakse ainult ühe korra, kui sa alustad sõlme:&lt;br /&gt;
&lt;br /&gt;
 list=&amp;quot;one two three&amp;quot;&lt;br /&gt;
 for var in $list ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 	# Note: Changing this does NOT affect the loop items&lt;br /&gt;
 	list=&amp;quot;nolist&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Kaks asja mida tähele tuleks panna:&lt;br /&gt;
1.	It stills prints out &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &lt;br /&gt;
2.	 Do NOT quote &amp;quot;$list&amp;quot;, if you want the &#039;for&#039; command to use multiple items&lt;br /&gt;
&lt;br /&gt;
Kui sa kasutad „$list“ „for“ real, siis ta prindib välja üksiku rea, „one two three“.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edasijõudnud muutujate kasutamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Braces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vahepeal sa tahad kohe muutujale järgneda stringiga. See võib põhjustada probleeme, kui sa kasutad tavalist õigekirja „echo $a“, et kasutada muutuja, kuna ksh standartina, üritab „targasti“ parsing muutujate nimes, aga ta ei oska su mõtteid lugeda.&lt;br /&gt;
&lt;br /&gt;
Võrdle järgneva kolme rea erinevusi:&lt;br /&gt;
 two=2&lt;br /&gt;
 print one$twothree&lt;br /&gt;
 print one${two}three&lt;br /&gt;
&lt;br /&gt;
Sellist muutujat nagu „twothree“ ei eksisteeri, siis ksh muudab selle tühjaks väärtuseks, esimeses prinditavad reas. Aga kui sa kasutada trakse „{„ et ksh´le selgesõnaliselt näidata. {see on muutuja nimi}&lt;br /&gt;
Siis ta mõistab et sa tahad muutujat nimega „two“, oleks laiendatud nende kahe tähe keskel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jah sa saad kasutada „Array“´sid ksh´s, mitte nagu vanades bourne shellides. Süntaks on järgnev:&lt;br /&gt;
&lt;br /&gt;
 # This is an OPTIONAL way to quickly null out prior values&lt;br /&gt;
 set -A array&lt;br /&gt;
 #&lt;br /&gt;
 array[1]=&amp;quot;one&amp;quot;&lt;br /&gt;
 array[2]=&amp;quot;two&amp;quot;&lt;br /&gt;
 array[3]=&amp;quot;three&amp;quot;&lt;br /&gt;
 three=3&lt;br /&gt;
 print ${array[1]}&lt;br /&gt;
 print ${array[2]}&lt;br /&gt;
 print ${array[3]}&lt;br /&gt;
 print ${array[three]}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erilised muutujad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On mõned „erilised“ muutujad ksh´s, millele ksh ise annab väärtused. Siin on mõned huvitavad:&lt;br /&gt;
&lt;br /&gt;
PWD- alati hetkel kasutuses olev kataloog&lt;br /&gt;
&lt;br /&gt;
RANDOM- erinev number igakord kui sa seda kasutad.&lt;br /&gt;
&lt;br /&gt;
$$- hetkel kasutuses oleva protsessi number&lt;br /&gt;
&lt;br /&gt;
PPID- „vanema protsessi“ ID (aga mitte alati kasutatav funktsioonides)&lt;br /&gt;
&lt;br /&gt;
$?- lahkumise käsk viimaselt käsult, mida skript käivitas.&lt;br /&gt;
&lt;br /&gt;
PS1- sinu „prompt“. „PS1-&amp;gt;`$PWD:&amp;gt;`“ on huvitav&lt;br /&gt;
&lt;br /&gt;
$1 kuni $9 – väited 1 kuni 9 edasi antud sinu skriptile või funktsioonile (tegelikult võivad suuremad numbrid olla aga sa pead kasutama trakse selle jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
&lt;br /&gt;
Ivar Krustok&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29871</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29871"/>
		<updated>2011-05-02T20:01:43Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn[http://en.wikipedia.org/wiki/David_Korn_(computer_scientist)]&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Kornshelli keel disainiti ja arendati David G. Korni poolt AT&amp;amp;T Bell laboris. See on interaktiivne käsukeel, mis võimaldab ligipääsu UNIXi süsteemi ja mitmesse muusse süsteemi, mitmetel erinevatel arvutitel ja töökohtadel kuhu see on rakendatud. Kornshelli keel on lisaks veel täielik, võimas, kõrge tasemega programeerimis keel, millega rakendusi kirjutada, tihti palju kergemini ja kiiremini kui teiste kõrge tasemeliste keeltega.See teeb selle eriti sobivaks prototüübide jaoks. On ka kaks teist laialdaselt kasutatud shelli, Borune Shell, mis on arendatud Steven Bourne samuti AT&amp;amp;T Bell laboris ja C shell, mis on arendatud Bill Joy poolt Kalifornia Ülikoolis. KSH’l on neist mõlemast paremad võimalused, lisaks mitmed tema enda lisa võimalused.Seega KSH saab teha palju, et suurendada sinu produktiivsust ja kvaliteeti töös, nii süsteemiga suhtlemises kui ka programeerimises. Ksh programme on lihtsam kirjutada ja nad on sisutihedamad ja loetavamad kui programmid mis on kirjutada madalama taseme keeles nagu näiteks C.&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kornshelli võimaluste kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Kornshell kõige arenenum shell versioon mida „ametlikult“ jagatakse UNIX süsteemis.&lt;br /&gt;
Töö kontroll(Job Controll) koosneb fg ja bg käskudest ja võimalusest peatada töö CTRL-Z´ga&lt;br /&gt;
&lt;br /&gt;
Aliases, mis lubab defineerida kiirkirja nimesid või käske ja käsuridasid&lt;br /&gt;
&lt;br /&gt;
Funktsioonid(osades C shell versioonides ka), mis suurendab programeerimis võimalust ja võimaldab salvestada sinu shelli koodi mälus selle asemel, et failides&lt;br /&gt;
&lt;br /&gt;
Käsu ajalugu(Command history) lubab sul esile kutsuda eelnevalt sisestatud käske&lt;br /&gt;
&lt;br /&gt;
Käsurea muutmine(Command-line editing), mis lubab sul kasutada vi või emacs –stiili käsu muutmiseks käsureal&lt;br /&gt;
&lt;br /&gt;
Integreeritud programeerimise võimalus(Integrated programming features), mitme välis UNIX käsu funktsionaalsus, mis sisaldab test, expr, getopt ja echo. On integreeritud shelli sisse, mis võimaldab tavapäraseid programeerimis tegevusi teha puhtalt ja ilma, et peaks eraldi protsesse tegema&lt;br /&gt;
&lt;br /&gt;
Kontrolli struktuuri(Control structure) eriti „select“ konstruktsioon, mis võimaldab lihtsalt menüüd genereerida.&lt;br /&gt;
Debugging primitiive(Debugging primitives), mis võimaldab kirjutada tööriistu, mis aitavad programeerijatel debug nende shelli koodi&lt;br /&gt;
&lt;br /&gt;
Regulaarsed väljendid(Regular expressions)- hästi teada UNIXi utiliitide kasutajatele nagu näiteks grep ja awk on lisatud standart failinimede wildcardi kogudele ja shelli muutujate rajatistele&lt;br /&gt;
&lt;br /&gt;
Arenenud I/O lisad(Advanced I/O features) sisaldab võimalust teha kahte-pidi kommunikatsiooni koos samaaegsete protsessidega&lt;br /&gt;
&lt;br /&gt;
Uued võimalused ja muutujad, mis annab sulle rohkem võimalusi muuta enda keskkonda&lt;br /&gt;
&lt;br /&gt;
Suurendatud kiirus- shelli koodi käivitamisel&lt;br /&gt;
&lt;br /&gt;
Turva võimalused- Aitab kaitsa Trooja hobuste ja teiste pahade sisse tungimis skeemide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Algteadmised ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shelli tüübi defineerimine:&#039;&#039;&#039;&lt;br /&gt;
Et teha ksh skript(mis on ksh program), loo uus fail, mis algab nii:&lt;br /&gt;
 #!/usr/bin/ksh&lt;br /&gt;
&lt;br /&gt;
Väga tähtis, et rada ksh´le on õige ja et real poleks rohkem, kui 32 märki. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skripti algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skript algab esimeselt realt ja lõppeb siis kui ta kohtab „exit´it“ või viimast rida, kõik # ignoreeritakse&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Käsu algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Käsk algab esimesest sõnast real või kui see on teine käsk real siis esimene sõna peale „;“. Käsk lõppeb kas rea lõpus või „;“, nii et saab panna mitu käsku ühele reale.&lt;br /&gt;
&lt;br /&gt;
 print -n &amp;quot;Name: &amp;quot;; read name; print &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Käske võib jätkata ka järgmiselt realt kasutades „\“ mille kohe järgneb uue rea sümbol, võib olla „return“ klahv:&lt;br /&gt;
&lt;br /&gt;
 grep filename | sort -u | awk &#039;{print $4}&#039; | \&lt;br /&gt;
 uniq -c &amp;gt;&amp;gt; /longpath/file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IF&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline tinglause on „if“&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 else&lt;br /&gt;
 	print something failed&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Kui $? Muutuja on võrdne 0´ga, siis (THEN) prindi välja sõnum, muuljuhul (else), prindi välja teine sõnum. FYI, „$?“ kontrollib väljumise staatust viimasel jooksutatud käsul.&lt;br /&gt;
&lt;br /&gt;
Viimane „fi“ on nõutud. See lubab sul grupeerida mitmeid asju kokku. Sa võid panna mitmeid asju ifi ja else vahele või else ja fi vahele või mõlema. Sa võid üldse else ära jätta. Kui ei vaja alternatiivi.&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 	print We can do as much as we like here&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Case&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Case väide funktsioneerib nagu muutus(switch) mõnes muus keeles. Andes kindel muutuja, hüppab kindlale koodiosale, mille määrab ära muutuja väärtus.&lt;br /&gt;
Kuigi süntaks on sarnane C´ga väliselt on mõned suured erinevused.&lt;br /&gt;
&lt;br /&gt;
*muutuja mida kontrollitakse võib olla string, mitte lihtsalt number&lt;br /&gt;
&lt;br /&gt;
*Ei ole mingit läbi kukkumist „fall through“ ;;’ga, sa saad ainult ühe komplekti käske. Kui sa just ei kasuta „;&amp;amp;“ „;;“ asemel.&lt;br /&gt;
&lt;br /&gt;
*et heastada seda et läbi kukkumist pole saad sa jagada muutuja seisundit.&lt;br /&gt;
&lt;br /&gt;
*saad kasutada metamärki „wildcard“ et sobitada stringe&lt;br /&gt;
&lt;br /&gt;
 echo input yes or no&lt;br /&gt;
 read  answer&lt;br /&gt;
 case $answer in&lt;br /&gt;
 	yes|Yes|y)&lt;br /&gt;
 		echo got a positive answer&lt;br /&gt;
 		# the following &#039;;;&#039; is mandatory for every set&lt;br /&gt;
 		# of comparative xxx)  that you do&lt;br /&gt;
 		;;&lt;br /&gt;
 	no)&lt;br /&gt;
 		echo got a &#039;no&#039;&lt;br /&gt;
 		;;&lt;br /&gt;
 	q*|Q*)&lt;br /&gt;
 		#assume the user wants to quit&lt;br /&gt;
 		exit&lt;br /&gt;
 		;;&lt;br /&gt;
 		&lt;br /&gt;
 	*)&lt;br /&gt;
 		echo This is the default clause. we are not sure why or&lt;br /&gt;
 		echo what someone would be typing, but we could take&lt;br /&gt;
 		echo action on it here&lt;br /&gt;
 		;;&lt;br /&gt;
 Esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline sõlm on kui/samas(while) sõlm, „kui“ midagi on tõene jätka sõlme.&lt;br /&gt;
&lt;br /&gt;
On kaks viisi kuidas sõlme peatada. Kõige loogilisem viis on nii, et kui midagi pole enam tõene. Teine viis on kasutada „break“ käsku.&lt;br /&gt;
&lt;br /&gt;
 keeplooping=1;&lt;br /&gt;
 while [[ $keeplooping -eq 1 ]] ; do&lt;br /&gt;
 	read quitnow&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;yes&amp;quot; ]] ; then&lt;br /&gt;
 		keeplooping=0&lt;br /&gt;
 	fi&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;q&amp;quot; ]] ; then&lt;br /&gt;
 		break;&lt;br /&gt;
 	fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Until&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teine sõlme tüüp ksh´s on „until“. Nende erinevus on see, et „while“ jätab sõlme käima seni kuni midagi jääb truuks. „until“ teeb sõlme seni kuni midagi mis on vale läheb tõeks.&lt;br /&gt;
&lt;br /&gt;
 until [[ $stopnow -eq 1 ]] ; do&lt;br /&gt;
 	echo just run this once&lt;br /&gt;
 	stopnow=1;&lt;br /&gt;
 	echo we should not be here again.&lt;br /&gt;
 Done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
„for“ loop on limiteeritud sõlm. See teeb sõlme kindla arv kordi, et vastata kindlale asjade hulgale. Kui sa kord alustad sõlme siis kordus on fikseeritud.&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam süntaks on:&lt;br /&gt;
&lt;br /&gt;
 for var in one two three ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Mis iganes nime sa paned „var“ asemele, uuendatakse iga väärtusega mis järgneb „in“´le. Nii et eelnev sõlm prindib välja:&lt;br /&gt;
&lt;br /&gt;
 one&lt;br /&gt;
 two&lt;br /&gt;
 three&lt;br /&gt;
&lt;br /&gt;
Aga sa saad ka muutujad, mis määravad ära asjade nimekirja. Neid kontrollitakse ainult ühe korra, kui sa alustad sõlme:&lt;br /&gt;
&lt;br /&gt;
 list=&amp;quot;one two three&amp;quot;&lt;br /&gt;
 for var in $list ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 	# Note: Changing this does NOT affect the loop items&lt;br /&gt;
 	list=&amp;quot;nolist&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Kaks asja mida tähele tuleks panna:&lt;br /&gt;
1.	It stills prints out &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &lt;br /&gt;
2.	 Do NOT quote &amp;quot;$list&amp;quot;, if you want the &#039;for&#039; command to use multiple items&lt;br /&gt;
&lt;br /&gt;
Kui sa kasutad „$list“ „for“ real, siis ta prindib välja üksiku rea, „one two three“.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edasijõudnud muutujate kasutamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Braces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vahepeal sa tahad kohe muutujale järgneda stringiga. See võib põhjustada probleeme, kui sa kasutad tavalist õigekirja „echo $a“, et kasutada muutuja, kuna ksh standartina, üritab „targasti“ parsing muutujate nimes, aga ta ei oska su mõtteid lugeda.&lt;br /&gt;
&lt;br /&gt;
Võrdle järgneva kolme rea erinevusi:&lt;br /&gt;
 two=2&lt;br /&gt;
 print one$twothree&lt;br /&gt;
 print one${two}three&lt;br /&gt;
&lt;br /&gt;
Sellist muutujat nagu „twothree“ ei eksisteeri, siis ksh muudab selle tühjaks väärtuseks, esimeses prinditavad reas. Aga kui sa kasutada trakse „{„ et ksh´le selgesõnaliselt näidata. {see on muutuja nimi}&lt;br /&gt;
Siis ta mõistab et sa tahad muutujat nimega „two“, oleks laiendatud nende kahe tähe keskel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jah sa saad kasutada „Array“´sid ksh´s, mitte nagu vanades bourne shellides. Süntaks on järgnev:&lt;br /&gt;
&lt;br /&gt;
 # This is an OPTIONAL way to quickly null out prior values&lt;br /&gt;
 set -A array&lt;br /&gt;
 #&lt;br /&gt;
 array[1]=&amp;quot;one&amp;quot;&lt;br /&gt;
 array[2]=&amp;quot;two&amp;quot;&lt;br /&gt;
 array[3]=&amp;quot;three&amp;quot;&lt;br /&gt;
 three=3&lt;br /&gt;
 print ${array[1]}&lt;br /&gt;
 print ${array[2]}&lt;br /&gt;
 print ${array[3]}&lt;br /&gt;
 print ${array[three]}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erilised muutujad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On mõned „erilised“ muutujad ksh´s, millele ksh ise annab väärtused. Siin on mõned huvitavad:&lt;br /&gt;
&lt;br /&gt;
PWD- alati hetkel kasutuses olev kataloog&lt;br /&gt;
&lt;br /&gt;
RANDOM- erinev number igakord kui sa seda kasutad.&lt;br /&gt;
&lt;br /&gt;
$$- hetkel kasutuses oleva protsessi number&lt;br /&gt;
&lt;br /&gt;
PPID- „vanema protsessi“ ID (aga mitte alati kasutatav funktsioonides)&lt;br /&gt;
&lt;br /&gt;
$?- lahkumise käsk viimaselt käsult, mida skript käivitas.&lt;br /&gt;
&lt;br /&gt;
PS1- sinu „prompt“. „PS1-&amp;gt;`$PWD:&amp;gt;`“ on huvitav&lt;br /&gt;
&lt;br /&gt;
$1 kuni $9 – väited 1 kuni 9 edasi antud sinu skriptile või funktsioonile (tegelikult võivad suuremad numbrid olla aga sa pead kasutama trakse selle jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29824</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29824"/>
		<updated>2011-05-02T19:14:49Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn[http://en.wikipedia.org/wiki/David_Korn_(computer_scientist)]&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Kornshelli keel disainiti ja arendati David G. Korni poolt AT&amp;amp;T Bell laboris. See on interaktiivne käsukeel, mis võimaldab ligipääsu UNIXi süsteemi ja mitmesse muusse süsteemi, mitmetel erinevatel arvutitel ja töökohtadel kuhu see on rakendatud. Kornshelli keel on lisaks veel täielik, võimas, kõrge tasemega programeerimis keel, millega rakendusi kirjutada, tihti palju kergemini ja kiiremini kui teiste kõrge tasemeliste keeltega.See teeb selle eriti sobivaks prototüübide jaoks. On ka kaks teist laialdaselt kasutatud shelli, Borune Shell, mis on arendatud Steven Bourne samuti AT&amp;amp;T Bell laboris ja C shell, mis on arendatud Bill Joy poolt Kalifornia Ülikoolis. KSH’l on neist mõlemast paremad võimalused, lisaks mitmed tema enda lisa võimalused.Seega KSH saab teha palju, et suurendada sinu produktiivsust ja kvaliteeti töös, nii süsteemiga suhtlemises kui ka programeerimises. Ksh programme on lihtsam kirjutada ja nad on sisutihedamad ja loetavamad kui programmid mis on kirjutada madalama taseme keeles nagu näiteks C.&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
== Algteadmised ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shelli tüübi defineerimine:&#039;&#039;&#039;&lt;br /&gt;
Et teha ksh skript(mis on ksh program), loo uus fail, mis algab nii:&lt;br /&gt;
 #!/usr/bin/ksh&lt;br /&gt;
&lt;br /&gt;
Väga tähtis, et rada ksh´le on õige ja et real poleks rohkem, kui 32 märki. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skripti algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skript algab esimeselt realt ja lõppeb siis kui ta kohtab „exit´it“ või viimast rida, kõik # ignoreeritakse&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Käsu algus ja lõpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Käsk algab esimesest sõnast real või kui see on teine käsk real siis esimene sõna peale „;“. Käsk lõppeb kas rea lõpus või „;“, nii et saab panna mitu käsku ühele reale.&lt;br /&gt;
&lt;br /&gt;
 print -n &amp;quot;Name: &amp;quot;; read name; print &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Käske võib jätkata ka järgmiselt realt kasutades „\“ mille kohe järgneb uue rea sümbol, võib olla „return“ klahv:&lt;br /&gt;
&lt;br /&gt;
 grep filename | sort -u | awk &#039;{print $4}&#039; | \&lt;br /&gt;
 uniq -c &amp;gt;&amp;gt; /longpath/file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IF&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline tinglause on „if“&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 else&lt;br /&gt;
 	print something failed&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Kui $? Muutuja on võrdne 0´ga, siis (THEN) prindi välja sõnum, muuljuhul (else), prindi välja teine sõnum. FYI, „$?“ kontrollib väljumise staatust viimasel jooksutatud käsul.&lt;br /&gt;
&lt;br /&gt;
Viimane „fi“ on nõutud. See lubab sul grupeerida mitmeid asju kokku. Sa võid panna mitmeid asju ifi ja else vahele või else ja fi vahele või mõlema. Sa võid üldse else ära jätta. Kui ei vaja alternatiivi.&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 	print We can do as much as we like here&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Case&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Case väide funktsioneerib nagu muutus(switch) mõnes muus keeles. Andes kindel muutuja, hüppab kindlale koodiosale, mille määrab ära muutuja väärtus.&lt;br /&gt;
Kuigi süntaks on sarnane C´ga väliselt on mõned suured erinevused.&lt;br /&gt;
&lt;br /&gt;
*muutuja mida kontrollitakse võib olla string, mitte lihtsalt number&lt;br /&gt;
&lt;br /&gt;
*Ei ole mingit läbi kukkumist „fall through“ ;;’ga, sa saad ainult ühe komplekti käske. Kui sa just ei kasuta „;&amp;amp;“ „;;“ asemel.&lt;br /&gt;
&lt;br /&gt;
*et heastada seda et läbi kukkumist pole saad sa jagada muutuja seisundit.&lt;br /&gt;
&lt;br /&gt;
*saad kasutada metamärki „wildcard“ et sobitada stringe&lt;br /&gt;
&lt;br /&gt;
 echo input yes or no&lt;br /&gt;
 read  answer&lt;br /&gt;
 case $answer in&lt;br /&gt;
 	yes|Yes|y)&lt;br /&gt;
 		echo got a positive answer&lt;br /&gt;
 		# the following &#039;;;&#039; is mandatory for every set&lt;br /&gt;
 		# of comparative xxx)  that you do&lt;br /&gt;
 		;;&lt;br /&gt;
 	no)&lt;br /&gt;
 		echo got a &#039;no&#039;&lt;br /&gt;
 		;;&lt;br /&gt;
 	q*|Q*)&lt;br /&gt;
 		#assume the user wants to quit&lt;br /&gt;
 		exit&lt;br /&gt;
 		;;&lt;br /&gt;
 		&lt;br /&gt;
 	*)&lt;br /&gt;
 		echo This is the default clause. we are not sure why or&lt;br /&gt;
 		echo what someone would be typing, but we could take&lt;br /&gt;
 		echo action on it here&lt;br /&gt;
 		;;&lt;br /&gt;
 Esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline sõlm on kui/samas(while) sõlm, „kui“ midagi on tõene jätka sõlme.&lt;br /&gt;
&lt;br /&gt;
On kaks viisi kuidas sõlme peatada. Kõige loogilisem viis on nii, et kui midagi pole enam tõene. Teine viis on kasutada „break“ käsku.&lt;br /&gt;
&lt;br /&gt;
 keeplooping=1;&lt;br /&gt;
 while [[ $keeplooping -eq 1 ]] ; do&lt;br /&gt;
 	read quitnow&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;yes&amp;quot; ]] ; then&lt;br /&gt;
 		keeplooping=0&lt;br /&gt;
 	fi&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;q&amp;quot; ]] ; then&lt;br /&gt;
 		break;&lt;br /&gt;
 	fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Until&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teine sõlme tüüp ksh´s on „until“. Nende erinevus on see, et „while“ jätab sõlme käima seni kuni midagi jääb truuks. „until“ teeb sõlme seni kuni midagi mis on vale läheb tõeks.&lt;br /&gt;
&lt;br /&gt;
 until [[ $stopnow -eq 1 ]] ; do&lt;br /&gt;
 	echo just run this once&lt;br /&gt;
 	stopnow=1;&lt;br /&gt;
 	echo we should not be here again.&lt;br /&gt;
 Done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
„for“ loop on limiteeritud sõlm. See teeb sõlme kindla arv kordi, et vastata kindlale asjade hulgale. Kui sa kord alustad sõlme siis kordus on fikseeritud.&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam süntaks on:&lt;br /&gt;
&lt;br /&gt;
 for var in one two three ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Mis iganes nime sa paned „var“ asemele, uuendatakse iga väärtusega mis järgneb „in“´le. Nii et eelnev sõlm prindib välja:&lt;br /&gt;
&lt;br /&gt;
 one&lt;br /&gt;
 two&lt;br /&gt;
 three&lt;br /&gt;
&lt;br /&gt;
Aga sa saad ka muutujad, mis määravad ära asjade nimekirja. Neid kontrollitakse ainult ühe korra, kui sa alustad sõlme:&lt;br /&gt;
&lt;br /&gt;
 list=&amp;quot;one two three&amp;quot;&lt;br /&gt;
 for var in $list ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 	# Note: Changing this does NOT affect the loop items&lt;br /&gt;
 	list=&amp;quot;nolist&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Kaks asja mida tähele tuleks panna:&lt;br /&gt;
1.	It stills prints out &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &lt;br /&gt;
2.	 Do NOT quote &amp;quot;$list&amp;quot;, if you want the &#039;for&#039; command to use multiple items&lt;br /&gt;
&lt;br /&gt;
Kui sa kasutad „$list“ „for“ real, siis ta prindib välja üksiku rea, „one two three“.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edasijõudnud muutujate kasutamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Braces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vahepeal sa tahad kohe muutujale järgneda stringiga. See võib põhjustada probleeme, kui sa kasutad tavalist õigekirja „echo $a“, et kasutada muutuja, kuna ksh standartina, üritab „targasti“ parsing muutujate nimes, aga ta ei oska su mõtteid lugeda.&lt;br /&gt;
&lt;br /&gt;
Võrdle järgneva kolme rea erinevusi:&lt;br /&gt;
 two=2&lt;br /&gt;
 print one$twothree&lt;br /&gt;
 print one${two}three&lt;br /&gt;
&lt;br /&gt;
Sellist muutujat nagu „twothree“ ei eksisteeri, siis ksh muudab selle tühjaks väärtuseks, esimeses prinditavad reas. Aga kui sa kasutada trakse „{„ et ksh´le selgesõnaliselt näidata. {see on muutuja nimi}&lt;br /&gt;
Siis ta mõistab et sa tahad muutujat nimega „two“, oleks laiendatud nende kahe tähe keskel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jah sa saad kasutada „Array“´sid ksh´s, mitte nagu vanades bourne shellides. Süntaks on järgnev:&lt;br /&gt;
&lt;br /&gt;
 # This is an OPTIONAL way to quickly null out prior values&lt;br /&gt;
 set -A array&lt;br /&gt;
 #&lt;br /&gt;
 array[1]=&amp;quot;one&amp;quot;&lt;br /&gt;
 array[2]=&amp;quot;two&amp;quot;&lt;br /&gt;
 array[3]=&amp;quot;three&amp;quot;&lt;br /&gt;
 three=3&lt;br /&gt;
 print ${array[1]}&lt;br /&gt;
 print ${array[2]}&lt;br /&gt;
 print ${array[3]}&lt;br /&gt;
 print ${array[three]}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erilised muutujad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On mõned „erilised“ muutujad ksh´s, millele ksh ise annab väärtused. Siin on mõned huvitavad:&lt;br /&gt;
&lt;br /&gt;
PWD- alati hetkel kasutuses olev kataloog&lt;br /&gt;
&lt;br /&gt;
RANDOM- erinev number igakord kui sa seda kasutad.&lt;br /&gt;
&lt;br /&gt;
$$- hetkel kasutuses oleva protsessi number&lt;br /&gt;
&lt;br /&gt;
PPID- „vanema protsessi“ ID (aga mitte alati kasutatav funktsioonides)&lt;br /&gt;
&lt;br /&gt;
$?- lahkumise käsk viimaselt käsult, mida skript käivitas.&lt;br /&gt;
&lt;br /&gt;
PS1- sinu „prompt“. „PS1-&amp;gt;`$PWD:&amp;gt;`“ on huvitav&lt;br /&gt;
&lt;br /&gt;
$1 kuni $9 – väited 1 kuni 9 edasi antud sinu skriptile või funktsioonile (tegelikult võivad suuremad numbrid olla aga sa pead kasutama trakse selle jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29788</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29788"/>
		<updated>2011-05-02T18:49:47Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn[http://en.wikipedia.org/wiki/David_Korn_(computer_scientist)]&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Kornshelli keel disainiti ja arendati David G. Korni poolt AT&amp;amp;T Bell laboris. See on interaktiivne käsukeel, mis võimaldab ligipääsu UNIXi süsteemi ja mitmesse muusse süsteemi, mitmetel erinevatel arvutitel ja töökohtadel kuhu see on rakendatud. Kornshelli keel on lisaks veel täielik, võimas, kõrge tasemega programeerimis keel, millega rakendusi kirjutada, tihti palju kergemini ja kiiremini kui teiste kõrge tasemeliste keeltega.See teeb selle eriti sobivaks prototüübide jaoks. On ka kaks teist laialdaselt kasutatud shelli, Borune Shell, mis on arendatud Steven Bourne samuti AT&amp;amp;T Bell laboris ja C shell, mis on arendatud Bill Joy poolt Kalifornia Ülikoolis. KSH’l on neist mõlemast paremad võimalused, lisaks mitmed tema enda lisa võimalused.Seega KSH saab teha palju, et suurendada sinu produktiivsust ja kvaliteeti töös, nii süsteemiga suhtlemises kui ka programeerimises. Ksh programme on lihtsam kirjutada ja nad on sisutihedamad ja loetavamad kui programmid mis on kirjutada madalama taseme keeles nagu näiteks C.&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
== Algteadmised ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IF&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline tinglause on „if“&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 else&lt;br /&gt;
 	print something failed&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Kui $? Muutuja on võrdne 0´ga, siis (THEN) prindi välja sõnum, muuljuhul (else), prindi välja teine sõnum. FYI, „$?“ kontrollib väljumise staatust viimasel jooksutatud käsul.&lt;br /&gt;
&lt;br /&gt;
Viimane „fi“ on nõutud. See lubab sul grupeerida mitmeid asju kokku. Sa võid panna mitmeid asju ifi ja else vahele või else ja fi vahele või mõlema. Sa võid üldse else ära jätta. Kui ei vaja alternatiivi.&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 	print We can do as much as we like here&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Case&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Case väide funktsioneerib nagu muutus(switch) mõnes muus keeles. Andes kindel muutuja, hüppab kindlale koodiosale, mille määrab ära muutuja väärtus.&lt;br /&gt;
Kuigi süntaks on sarnane C´ga väliselt on mõned suured erinevused.&lt;br /&gt;
&lt;br /&gt;
*muutuja mida kontrollitakse võib olla string, mitte lihtsalt number&lt;br /&gt;
&lt;br /&gt;
*Ei ole mingit läbi kukkumist „fall through“ ;;’ga, sa saad ainult ühe komplekti käske. Kui sa just ei kasuta „;&amp;amp;“ „;;“ asemel.&lt;br /&gt;
&lt;br /&gt;
*et heastada seda et läbi kukkumist pole saad sa jagada muutuja seisundit.&lt;br /&gt;
&lt;br /&gt;
*saad kasutada metamärki „wildcard“ et sobitada stringe&lt;br /&gt;
&lt;br /&gt;
 echo input yes or no&lt;br /&gt;
 read  answer&lt;br /&gt;
 case $answer in&lt;br /&gt;
 	yes|Yes|y)&lt;br /&gt;
 		echo got a positive answer&lt;br /&gt;
 		# the following &#039;;;&#039; is mandatory for every set&lt;br /&gt;
 		# of comparative xxx)  that you do&lt;br /&gt;
 		;;&lt;br /&gt;
 	no)&lt;br /&gt;
 		echo got a &#039;no&#039;&lt;br /&gt;
 		;;&lt;br /&gt;
 	q*|Q*)&lt;br /&gt;
 		#assume the user wants to quit&lt;br /&gt;
 		exit&lt;br /&gt;
 		;;&lt;br /&gt;
 		&lt;br /&gt;
 	*)&lt;br /&gt;
 		echo This is the default clause. we are not sure why or&lt;br /&gt;
 		echo what someone would be typing, but we could take&lt;br /&gt;
 		echo action on it here&lt;br /&gt;
 		;;&lt;br /&gt;
 Esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline sõlm on kui/samas(while) sõlm, „kui“ midagi on tõene jätka sõlme.&lt;br /&gt;
&lt;br /&gt;
On kaks viisi kuidas sõlme peatada. Kõige loogilisem viis on nii, et kui midagi pole enam tõene. Teine viis on kasutada „break“ käsku.&lt;br /&gt;
&lt;br /&gt;
 keeplooping=1;&lt;br /&gt;
 while [[ $keeplooping -eq 1 ]] ; do&lt;br /&gt;
 	read quitnow&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;yes&amp;quot; ]] ; then&lt;br /&gt;
 		keeplooping=0&lt;br /&gt;
 	fi&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;q&amp;quot; ]] ; then&lt;br /&gt;
 		break;&lt;br /&gt;
 	fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Until&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teine sõlme tüüp ksh´s on „until“. Nende erinevus on see, et „while“ jätab sõlme käima seni kuni midagi jääb truuks. „until“ teeb sõlme seni kuni midagi mis on vale läheb tõeks.&lt;br /&gt;
&lt;br /&gt;
 until [[ $stopnow -eq 1 ]] ; do&lt;br /&gt;
 	echo just run this once&lt;br /&gt;
 	stopnow=1;&lt;br /&gt;
 	echo we should not be here again.&lt;br /&gt;
 Done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
„for“ loop on limiteeritud sõlm. See teeb sõlme kindla arv kordi, et vastata kindlale asjade hulgale. Kui sa kord alustad sõlme siis kordus on fikseeritud.&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam süntaks on:&lt;br /&gt;
&lt;br /&gt;
 for var in one two three ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Mis iganes nime sa paned „var“ asemele, uuendatakse iga väärtusega mis järgneb „in“´le. Nii et eelnev sõlm prindib välja:&lt;br /&gt;
&lt;br /&gt;
 one&lt;br /&gt;
 two&lt;br /&gt;
 three&lt;br /&gt;
&lt;br /&gt;
Aga sa saad ka muutujad, mis määravad ära asjade nimekirja. Neid kontrollitakse ainult ühe korra, kui sa alustad sõlme:&lt;br /&gt;
&lt;br /&gt;
 list=&amp;quot;one two three&amp;quot;&lt;br /&gt;
 for var in $list ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 	# Note: Changing this does NOT affect the loop items&lt;br /&gt;
 	list=&amp;quot;nolist&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Kaks asja mida tähele tuleks panna:&lt;br /&gt;
1.	It stills prints out &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &lt;br /&gt;
2.	 Do NOT quote &amp;quot;$list&amp;quot;, if you want the &#039;for&#039; command to use multiple items&lt;br /&gt;
&lt;br /&gt;
Kui sa kasutad „$list“ „for“ real, siis ta prindib välja üksiku rea, „one two three“.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edasijõudnud muutujate kasutamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Braces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vahepeal sa tahad kohe muutujale järgneda stringiga. See võib põhjustada probleeme, kui sa kasutad tavalist õigekirja „echo $a“, et kasutada muutuja, kuna ksh standartina, üritab „targasti“ parsing muutujate nimes, aga ta ei oska su mõtteid lugeda.&lt;br /&gt;
&lt;br /&gt;
Võrdle järgneva kolme rea erinevusi:&lt;br /&gt;
 two=2&lt;br /&gt;
 print one$twothree&lt;br /&gt;
 print one${two}three&lt;br /&gt;
&lt;br /&gt;
Sellist muutujat nagu „twothree“ ei eksisteeri, siis ksh muudab selle tühjaks väärtuseks, esimeses prinditavad reas. Aga kui sa kasutada trakse „{„ et ksh´le selgesõnaliselt näidata. {see on muutuja nimi}&lt;br /&gt;
Siis ta mõistab et sa tahad muutujat nimega „two“, oleks laiendatud nende kahe tähe keskel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jah sa saad kasutada „Array“´sid ksh´s, mitte nagu vanades bourne shellides. Süntaks on järgnev:&lt;br /&gt;
&lt;br /&gt;
 # This is an OPTIONAL way to quickly null out prior values&lt;br /&gt;
 set -A array&lt;br /&gt;
 #&lt;br /&gt;
 array[1]=&amp;quot;one&amp;quot;&lt;br /&gt;
 array[2]=&amp;quot;two&amp;quot;&lt;br /&gt;
 array[3]=&amp;quot;three&amp;quot;&lt;br /&gt;
 three=3&lt;br /&gt;
 print ${array[1]}&lt;br /&gt;
 print ${array[2]}&lt;br /&gt;
 print ${array[3]}&lt;br /&gt;
 print ${array[three]}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erilised muutujad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On mõned „erilised“ muutujad ksh´s, millele ksh ise annab väärtused. Siin on mõned huvitavad:&lt;br /&gt;
&lt;br /&gt;
PWD- alati hetkel kasutuses olev kataloog&lt;br /&gt;
&lt;br /&gt;
RANDOM- erinev number igakord kui sa seda kasutad.&lt;br /&gt;
&lt;br /&gt;
$$- hetkel kasutuses oleva protsessi number&lt;br /&gt;
&lt;br /&gt;
PPID- „vanema protsessi“ ID (aga mitte alati kasutatav funktsioonides)&lt;br /&gt;
&lt;br /&gt;
$?- lahkumise käsk viimaselt käsult, mida skript käivitas.&lt;br /&gt;
&lt;br /&gt;
PS1- sinu „prompt“. „PS1-&amp;gt;`$PWD:&amp;gt;`“ on huvitav&lt;br /&gt;
&lt;br /&gt;
$1 kuni $9 – väited 1 kuni 9 edasi antud sinu skriptile või funktsioonile (tegelikult võivad suuremad numbrid olla aga sa pead kasutama trakse selle jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29756</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29756"/>
		<updated>2011-05-02T18:23:33Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Kornshelli keel disainiti ja arendati David G. Korni poolt AT&amp;amp;T Bell laboris. See on interaktiivne käsukeel, mis võimaldab ligipääsu UNIXi süsteemi ja mitmesse muusse süsteemi, mitmetel erinevatel arvutitel ja töökohtadel kuhu see on rakendatud. Kornshelli keel on lisaks veel täielik, võimas, kõrge tasemega programeerimis keel, millega rakendusi kirjutada, tihti palju kergemini ja kiiremini kui teiste kõrge tasemeliste keeltega.See teeb selle eriti sobivaks prototüübide jaoks. On ka kaks teist laialdaselt kasutatud shelli, Borune Shell, mis on arendatud Steven Bourne samuti AT&amp;amp;T Bell laboris ja C shell, mis on arendatud Bill Joy poolt Kalifornia Ülikoolis. KSH’l on neist mõlemast paremad võimalused, lisaks mitmed tema enda lisa võimalused.Seega KSH saab teha palju, et suurendada sinu produktiivsust ja kvaliteeti töös, nii süsteemiga suhtlemises kui ka programeerimises. Ksh programme on lihtsam kirjutada ja nad on sisutihedamad ja loetavamad kui programmid mis on kirjutada madalama taseme keeles nagu näiteks C.&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
== Algteadmised ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IF&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline tinglause on „if“&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 else&lt;br /&gt;
 	print something failed&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Kui $? Muutuja on võrdne 0´ga, siis (THEN) prindi välja sõnum, muuljuhul (else), prindi välja teine sõnum. FYI, „$?“ kontrollib väljumise staatust viimasel jooksutatud käsul.&lt;br /&gt;
&lt;br /&gt;
Viimane „fi“ on nõutud. See lubab sul grupeerida mitmeid asju kokku. Sa võid panna mitmeid asju ifi ja else vahele või else ja fi vahele või mõlema. Sa võid üldse else ära jätta. Kui ei vaja alternatiivi.&lt;br /&gt;
&lt;br /&gt;
 if [ $? -eq 0 ] ; then&lt;br /&gt;
 	print we are okay&lt;br /&gt;
 	print We can do as much as we like here&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Case&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Case väide funktsioneerib nagu muutus(switch) mõnes muus keeles. Andes kindel muutuja, hüppab kindlale koodiosale, mille määrab ära muutuja väärtus.&lt;br /&gt;
Kuigi süntaks on sarnane C´ga väliselt on mõned suured erinevused.&lt;br /&gt;
&lt;br /&gt;
*muutuja mida kontrollitakse võib olla string, mitte lihtsalt number&lt;br /&gt;
&lt;br /&gt;
*Ei ole mingit läbi kukkumist „fall through“ ;;’ga, sa saad ainult ühe komplekti käske. Kui sa just ei kasuta „;&amp;amp;“ „;;“ asemel.&lt;br /&gt;
&lt;br /&gt;
*et heastada seda et läbi kukkumist pole saad sa jagada muutuja seisundit.&lt;br /&gt;
&lt;br /&gt;
*saad kasutada metamärki „wildcard“ et sobitada stringe&lt;br /&gt;
&lt;br /&gt;
 echo input yes or no&lt;br /&gt;
 read  answer&lt;br /&gt;
 case $answer in&lt;br /&gt;
 	yes|Yes|y)&lt;br /&gt;
 		echo got a positive answer&lt;br /&gt;
 		# the following &#039;;;&#039; is mandatory for every set&lt;br /&gt;
 		# of comparative xxx)  that you do&lt;br /&gt;
 		;;&lt;br /&gt;
 	no)&lt;br /&gt;
 		echo got a &#039;no&#039;&lt;br /&gt;
 		;;&lt;br /&gt;
 	q*|Q*)&lt;br /&gt;
 		#assume the user wants to quit&lt;br /&gt;
 		exit&lt;br /&gt;
 		;;&lt;br /&gt;
 		&lt;br /&gt;
 	*)&lt;br /&gt;
 		echo This is the default clause. we are not sure why or&lt;br /&gt;
 		echo what someone would be typing, but we could take&lt;br /&gt;
 		echo action on it here&lt;br /&gt;
 		;;&lt;br /&gt;
 Esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Põhiline sõlm on kui/samas(while) sõlm, „kui“ midagi on tõene jätka sõlme.&lt;br /&gt;
&lt;br /&gt;
On kaks viisi kuidas sõlme peatada. Kõige loogilisem viis on nii, et kui midagi pole enam tõene. Teine viis on kasutada „break“ käsku.&lt;br /&gt;
&lt;br /&gt;
 keeplooping=1;&lt;br /&gt;
 while [[ $keeplooping -eq 1 ]] ; do&lt;br /&gt;
 	read quitnow&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;yes&amp;quot; ]] ; then&lt;br /&gt;
 		keeplooping=0&lt;br /&gt;
 	fi&lt;br /&gt;
 	if [[ &amp;quot;$quitnow&amp;quot; = &amp;quot;q&amp;quot; ]] ; then&lt;br /&gt;
 		break;&lt;br /&gt;
 	fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Until&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teine sõlme tüüp ksh´s on „until“. Nende erinevus on see, et „while“ jätab sõlme käima seni kuni midagi jääb truuks. „until“ teeb sõlme seni kuni midagi mis on vale läheb tõeks.&lt;br /&gt;
&lt;br /&gt;
 until [[ $stopnow -eq 1 ]] ; do&lt;br /&gt;
 	echo just run this once&lt;br /&gt;
 	stopnow=1;&lt;br /&gt;
 	echo we should not be here again.&lt;br /&gt;
 Done&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
„for“ loop on limiteeritud sõlm. See teeb sõlme kindla arv kordi, et vastata kindlale asjade hulgale. Kui sa kord alustad sõlme siis kordus on fikseeritud.&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam süntaks on:&lt;br /&gt;
&lt;br /&gt;
 for var in one two three ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Mis iganes nime sa paned „var“ asemele, uuendatakse iga väärtusega mis järgneb „in“´le. Nii et eelnev sõlm prindib välja:&lt;br /&gt;
&lt;br /&gt;
 one&lt;br /&gt;
 two&lt;br /&gt;
 three&lt;br /&gt;
&lt;br /&gt;
Aga sa saad ka muutujad, mis määravad ära asjade nimekirja. Neid kontrollitakse ainult ühe korra, kui sa alustad sõlme:&lt;br /&gt;
&lt;br /&gt;
 list=&amp;quot;one two three&amp;quot;&lt;br /&gt;
 for var in $list ; do&lt;br /&gt;
 	echo $var&lt;br /&gt;
 	# Note: Changing this does NOT affect the loop items&lt;br /&gt;
 	list=&amp;quot;nolist&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Kaks asja mida tähele tuleks panna:&lt;br /&gt;
1.	It stills prints out &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &lt;br /&gt;
2.	 Do NOT quote &amp;quot;$list&amp;quot;, if you want the &#039;for&#039; command to use multiple items&lt;br /&gt;
&lt;br /&gt;
Kui sa kasutad „$list“ „for“ real, siis ta prindib välja üksiku rea, „one two three“.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edasijõudnud muutujate kasutamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Braces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vahepeal sa tahad kohe muutujale järgneda stringiga. See võib põhjustada probleeme, kui sa kasutad tavalist õigekirja „echo $a“, et kasutada muutuja, kuna ksh standartina, üritab „targasti“ parsing muutujate nimes, aga ta ei oska su mõtteid lugeda.&lt;br /&gt;
&lt;br /&gt;
Võrdle järgneva kolme rea erinevusi:&lt;br /&gt;
 two=2&lt;br /&gt;
 print one$twothree&lt;br /&gt;
 print one${two}three&lt;br /&gt;
&lt;br /&gt;
Sellist muutujat nagu „twothree“ ei eksisteeri, siis ksh muudab selle tühjaks väärtuseks, esimeses prinditavad reas. Aga kui sa kasutada trakse „{„ et ksh´le selgesõnaliselt näidata. {see on muutuja nimi}&lt;br /&gt;
Siis ta mõistab et sa tahad muutujat nimega „two“, oleks laiendatud nende kahe tähe keskel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jah sa saad kasutada „Array“´sid ksh´s, mitte nagu vanades bourne shellides. Süntaks on järgnev:&lt;br /&gt;
&lt;br /&gt;
 # This is an OPTIONAL way to quickly null out prior values&lt;br /&gt;
 set -A array&lt;br /&gt;
 #&lt;br /&gt;
 array[1]=&amp;quot;one&amp;quot;&lt;br /&gt;
 array[2]=&amp;quot;two&amp;quot;&lt;br /&gt;
 array[3]=&amp;quot;three&amp;quot;&lt;br /&gt;
 three=3&lt;br /&gt;
&lt;br /&gt;
 print ${array[1]}&lt;br /&gt;
 print ${array[2]}&lt;br /&gt;
 print ${array[3]}&lt;br /&gt;
 print ${array[three]}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erilised muutujad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On mõned „erilised“ muutujad ksh´s, millele ksh ise annab väärtused. Siin on mõned huvitavad:&lt;br /&gt;
&lt;br /&gt;
PWD- alati hetkel kasutuses olev kataloog&lt;br /&gt;
&lt;br /&gt;
RANDOM- erinev number igakord kui sa seda kasutad.&lt;br /&gt;
&lt;br /&gt;
$$- hetkel kasutuses oleva protsessi number&lt;br /&gt;
&lt;br /&gt;
PPID- „vanema protsessi“ ID (aga mitte alati kasutatav funktsioonides)&lt;br /&gt;
&lt;br /&gt;
$?- lahkumise käsk viimaselt käsult, mida skript käivitas.&lt;br /&gt;
&lt;br /&gt;
PS1- sinu „prompt“. „PS1-&amp;gt;`$PWD:&amp;gt;`“ on huvitav&lt;br /&gt;
&lt;br /&gt;
$1 kuni $9 – väited 1 kuni 9 edasi antud sinu skriptile või funktsioonile (tegelikult võivad suuremad numbrid olla aga sa pead kasutama trakse selle jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29752</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29752"/>
		<updated>2011-05-02T18:06:33Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus Philip Brown poolt&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus kistler@gmx.net poolt&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29751</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29751"/>
		<updated>2011-05-02T18:05:15Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on Kornshell?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis on ksh?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kas lähtekood on vaba?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kui ma muudan koodi, kas ma pean need tegema avalikuks?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuidas ma saan noole nupud tööle?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29744</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29744"/>
		<updated>2011-05-02T18:01:54Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
Mis on Kornshell?&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
Mis on ksh?&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
Kas lähtekood on vaba?&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
Kui ma muudan koodi, kas ma pean need tegema avalikuks?&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
Kuidas ma saan noole nupud tööle?&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus&lt;br /&gt;
&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus&lt;br /&gt;
&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29739</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29739"/>
		<updated>2011-05-02T17:58:11Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kornshelli põhieelis üle teiste traditsiooniliste shell keelte on selle kasutus, kui programeerimiskeel. Selle loomisest saati on lisatud mitmeid lisasid, samas säilitades tugeva tagurpidi ühilduvuse Bourneshelliga.&lt;br /&gt;
&lt;br /&gt;
Ksh93 versioon toetab assotsiatiivne massiive ja sisse ehitatud ujukoma aritmeetikat.&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;br /&gt;
&lt;br /&gt;
== KKK ==&lt;br /&gt;
&lt;br /&gt;
Mis on Kornshell?&lt;br /&gt;
Kornshell on käsu ja skriptimise keel&lt;br /&gt;
&lt;br /&gt;
Mis on ksh?&lt;br /&gt;
Ksh on programmi nimi, mis teostab kornshelli keelt.&lt;br /&gt;
&lt;br /&gt;
Kas lähtekood on vaba?&lt;br /&gt;
Alates 2000aastast on ksh93 võimaldatud, kui osa tarkvara pakist, mille nimi on ast-open software package(ast-avatud tarkvara pakk).&lt;br /&gt;
&lt;br /&gt;
Kui ma muudan koodi, kas ma pean need tegema avalikuks?&lt;br /&gt;
Ei, see pole vajalik. Aga kui sa jagad need muudatused laiali pead sa võimaldama, inimestel neid võimalusi saada ja edasi jagada koos allikaga.&lt;br /&gt;
&lt;br /&gt;
Kuidas ma saan noole nupud tööle?&lt;br /&gt;
Enamus arvutites peaks see automaatselt toimima. Aga kui esineb probleeme peate kasutama keybindings(kiirklahve), et neid tööle saada&lt;br /&gt;
&lt;br /&gt;
== Miks ksh, mitte XYZ programeerimise jaoks? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bourne shell on olnud „standart“ UNIX shellskripti keele jaoks juba mitu aastat. Kuigi sellel puudub üks väga vajalik asi, lihtsal tasandil. Mõned neist asjadest lisati C-shelli(csh) hiljem. Kuigi, csh ei ole ihaldusväärne kasutada programeerimises mitmetel põhjustel.&lt;br /&gt;
&lt;br /&gt;
Õnneks ksh lisab enamus asju, mida inimesed ütlevad et csh´l on aga sh´l ei ole. Lausa nii palju, et ksh´st sai „POSIX shelli“ põhjaks. See tähendab, et kõik korralikult vastavuses süsteemid peavad omama midagi vastavuses, isegi kuigi seda nüüd nimetatakse sh´ks nagu vana Bourne shelli(nagu näiteks /usr/xpg4/bin/sh on lingitud /bin/ksh, solarises). Täpsemalt öeldes POSIX-vastavuses käitumisega shell on kirjeldatud „IEEE POSIX 1003.2“ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
http://www.kornshell.com &amp;lt;- Kornshell ametlik leht&lt;br /&gt;
http://www.bolthole.com/solaris/ksh.html &amp;lt;- Kornshell õpetus&lt;br /&gt;
http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html &amp;lt;- Kornshell õpetus&lt;br /&gt;
http://docstore.mik.ua/orelly/unix/ksh/ &amp;lt;- Kornshell õpetus Bill Rosenblatt poolt&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29735</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29735"/>
		<updated>2011-05-02T17:49:07Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Ivar Teeb&lt;br /&gt;
&lt;br /&gt;
== Erinevad versioonid ==&lt;br /&gt;
&lt;br /&gt;
On olemas kaks modifitseeritud versiooni ksh93mest, mis lisavad võimaluse manipuleerida graafilist kasutajaliidest: dtksh, mis on osa CDE[http://en.wikipedia.org/wiki/Common_Desktop_Environment] ja tksh, mis võimaldab ligipääsu Tk widget toolkitile[http://en.wikipedia.org/wiki/Widget_toolkit].&lt;br /&gt;
&lt;br /&gt;
Mksh[http://en.wikipedia.org/wiki/MirOS_BSD] mis on aktiivselt arendatud, BSDish-litsentseeritud [http://en.wikipedia.org/wiki/MirOS_Licence] ksh hõnguline. See on OPENBSDi /bin/ksh [http://en.wikipedia.org/wiki/OpenBSD] otsene järglane ja pdksh [http://en.wikipedia.org/wiki/Pdksh] troonipärija. Mksh arendus keskendub rohkem koodi teisaldamisele, turva parandustele, UTF-8 [http://en.wikipedia.org/wiki/UTF-8] ja üritab vältida funktsiooni järjepidevat uuendamist [http://en.wikipedia.org/wiki/Feature_creep]. &lt;br /&gt;
Oksh on OpenBSD´s /bin/ksh port GNU/Linuxile, mis sisaldab täpselt nii palju lisandeid, et koodi saaks kompileerida GNU/Linuxi süsteemis. Seda kasutatakse standart shellina DeLi Linux [http://en.wikipedia.org/wiki/DeLi_Linux].&lt;br /&gt;
&lt;br /&gt;
SKsh on AmingaOS [http://en.wikipedia.org/wiki/AmigaOS], mis pakub palju Amiga-spetsiaalseid lisasid nagu näiteks ARexx [http://en.wikipedia.org/wiki/ARexx] koostalitlusvõime.&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29734</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=29734"/>
		<updated>2011-05-02T17:42:41Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Window.JPG|300px|thumb|upright|&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kornshelli pilt&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Originaali autor:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;David G. Korn&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Avalikustatud:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;14.juuli 1983&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Operatsioonisüsteem:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;rist platvorm&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Litsents:&#039;&#039;&#039; &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;AT&amp;amp;T ksh, mksh, pdksh&amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebileht: &amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;www.kornshell.com/&amp;lt;/p&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Sissejuhatus&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Ivar Teeb&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Window.JPG&amp;diff=29724</id>
		<title>File:Window.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Window.JPG&amp;diff=29724"/>
		<updated>2011-05-02T17:29:35Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=23278</id>
		<title>Ksh</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ksh&amp;diff=23278"/>
		<updated>2011-02-21T08:49:06Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: Created page with &amp;#039;Ivar Krustok teeb selle A22&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ivar Krustok teeb selle A22&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Windows_Server_administreerimine_aines_valminud_referaadid_2010_s%C3%BCgis,_p%C3%A4eva%C3%B5pe&amp;diff=20699</id>
		<title>Windows Server administreerimine aines valminud referaadid 2010 sügis, päevaõpe</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Windows_Server_administreerimine_aines_valminud_referaadid_2010_s%C3%BCgis,_p%C3%A4eva%C3%B5pe&amp;diff=20699"/>
		<updated>2010-12-16T19:09:24Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Valminud referaadid ja retsensioonid=&lt;br /&gt;
&lt;br /&gt;
(Näide)&lt;br /&gt;
&lt;br /&gt;
==Kristiina Kaarna==&lt;br /&gt;
*Referaat : Sync Center kasutamine üle VPN-i [[https://wiki.itcollege.ee/index.php/Sync_Center_kasutamine_%C3%BCle_VPN-i]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:*.VHD&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:DISKPART&lt;br /&gt;
&lt;br /&gt;
== Risto Siitan ==&lt;br /&gt;
&lt;br /&gt;
*Referaat : Failover Cluster [https://wiki.itcollege.ee/index.php/Failover_Cluster]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Windows_Server&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Net&lt;br /&gt;
&lt;br /&gt;
== Kristjan Kalder ==&lt;br /&gt;
*Referaat : [[Zero-touch installation | ZTI]]&lt;br /&gt;
**Arvustus1 : [[Talk:Windows Server Foundation | Windows Server Foundation]]&lt;br /&gt;
**Arvustus2 : [[Talk:Serveri_rollid | Serveri Rollid]]&lt;br /&gt;
&lt;br /&gt;
==Meelis Tamm==&lt;br /&gt;
*Referaat: [[Active Directory Lightweight Directory Services]]&lt;br /&gt;
** Arvustus #1: [[Talk:Võrguühenduste seadistamine Windows operatioonissteemis]]&lt;br /&gt;
** Arvustus #2: [[Talk:EMS]]&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets==&lt;br /&gt;
*Referaat: [[Litsenseerimine]]&lt;br /&gt;
** Arvustus 1: [[Talk:Windows Server 2008]]&lt;br /&gt;
** Arvustus 2: [[Talk:Windows Server 2008 R2]]&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos==&lt;br /&gt;
*Referaat: [[Windows Server 2008 R2]]&lt;br /&gt;
** Arvustus 1: [[Talk:Windows Storage Server]]&lt;br /&gt;
** Arvustus 2: [[Talk:Litsenseerimine]]&lt;br /&gt;
&lt;br /&gt;
==Olle Tuur==&lt;br /&gt;
*Referaat: [[Windows_Server_Foundation]]&lt;br /&gt;
** Arvustus 1: [[Talk:Windows_Home_Server_V2]]&lt;br /&gt;
** Arvustus 2: [[Talk:Hyper-V_Server]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Väljako==&lt;br /&gt;
*Referaat: [[Windows Server 2008]]&lt;br /&gt;
** Arvustus 1: [[Talk:Windows Server 2008 R2]] &lt;br /&gt;
** Arvustus 2: [[Talk:Microsoft Assessment and Planning Solution Accelerator]]&lt;br /&gt;
&lt;br /&gt;
==Inger Romanenko==&lt;br /&gt;
*Referaat: [[Background_Intelligent_Transfer_Service]]&lt;br /&gt;
**Arvustus 1: https://wiki.itcollege.ee/index.php/Talk:DHCP_relay_agent&lt;br /&gt;
**Arvustus 2: https://wiki.itcollege.ee/index.php/Talk:Performance_Monitor&lt;br /&gt;
&lt;br /&gt;
==Karet Rikko==&lt;br /&gt;
*Referaat: [[Windows Home Server]]&lt;br /&gt;
** Arvustus 1: [[Talk:Windows Event Collector Service]] &lt;br /&gt;
** Arvustus 2: [[Talk:Windows Server 2008]]&lt;br /&gt;
&lt;br /&gt;
==Vadim Vinogradin==&lt;br /&gt;
*Referaat: [https://wiki.itcollege.ee/index.php/Internet_Information_Services Internet InformationServices]&lt;br /&gt;
** Arvustus1: Varsti tuleb...&lt;br /&gt;
** Arvustus2: Varsti tuleb...&lt;br /&gt;
&lt;br /&gt;
==Heigo Võsujalg==&lt;br /&gt;
*Referaat: [[Network Access Protection]]&lt;br /&gt;
** Arvustus 1: Tulemas&lt;br /&gt;
** Arvustus 2: Endiselt tulemas&lt;br /&gt;
&lt;br /&gt;
==Andres Vaher==&lt;br /&gt;
*Referaat: [[basic disks]]&lt;br /&gt;
**Arvustus 1: [[Talk:Windows_HPC_Server]]&lt;br /&gt;
**Arvustus 2: [[Talk:Windows_Serveri_paigaldus_erinevatelt_meediatelt]]&lt;br /&gt;
&lt;br /&gt;
==Andres Sumin==&lt;br /&gt;
*Referaat: [[net]]&lt;br /&gt;
** Arvustus 1: http://wiki.itcollege.ee/index.php/Basic_disks&lt;br /&gt;
** Arvustus 2: https://wiki.itcollege.ee/index.php/Windows_HPC_Server&lt;br /&gt;
&lt;br /&gt;
==Velmar Piibeleht==&lt;br /&gt;
*Referaat : [https://wiki.itcollege.ee/index.php/Windows_Home_Server_V2 Home Server V2]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Active_Directory_Lightweight_Directory_Services&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:WSUS&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok==&lt;br /&gt;
*Referaat : Microsoft Assessment and Planning Solution Accelerator [[https://wiki.itcollege.ee/index.php/Microsoft_Assessment_and_Planning_Solution_Accelerator]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Performance_Monitor&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Sync_Center_kasutamine_üle_VPN-i&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Performance_Monitor&amp;diff=20698</id>
		<title>Talk:Performance Monitor</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Performance_Monitor&amp;diff=20698"/>
		<updated>2010-12-16T19:04:58Z</updated>

		<summary type="html">&lt;p&gt;Ikrustok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Retsenseerija: Inger Romanenko A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esiteks kohe paistab silma, et töö on väga lühike. Koosneb ainult kolmest peatükist, milleks on sissejuhatus, kus on väga lühidalt tutvustaud Performance Monitori, siis on õpetus, kuidas Performance Monitori avada ning lühike ülevaade milleks seda kasutada. Mina arvan, et see pole kindlasti piisav, sest ülevaade ütleb juba nime järgi ära, et see ei anna piisavalt informatsiooni tööriista kohta, vaid annab ülevaatliku pildi sellest, millega on tegu.  Ülevaade võiks olla muidugi nö sissejuhatav osa , kuid kindlasti oleks pidanud minema detailsemaks. Üldse arvan, et sissejuhatus ja ülevaade olekski võinud ühendada tervikuks ning seejärel keskenduda Performance Monitor täpsemale lahtiseletamisele.&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Ülevaate lõigus on mitmes kohas öeldud, et tuleb avada üks või teine asi ning siis tegutseda „vastavalt vajadusele“. Arvan, et see ongi õige koht, kus oleks pidanud pikemalt kirjutama milliseid variante on võimalik rakendad ning kuidas Performance Monitori seadistada ning mis vajadusi üks või teine valik rahuldab!&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Positiivseks pean seda, et Performance Monitori avamise kohta on lisatud ekraanipildid ning et on kirjeldatud mitut viisi, kuidas Performance Monitori avada saab. Samas kui juba avamise kohta on tehtud juhend, siis kindlasti oleks võinud väga edukalt sarnaseid ekraanipiltidega illustreeritud juhendeid teha ka paljude teiste asajde kohta, mida Performance Monitor pakub. Näiteks milline näeb välja &amp;quot;adding a counter&amp;quot; aken, kuidas see avada ning mis valikuid seal on, sama kehtib ka atribuutide akna ja paljude teiste Performance Monitori võimaluste kohta.  Juba ainuüksi logifailidest oleks väga lihtsalt saanud teha terve peatüki rääkides, mis need on, kes neile ligi pääsevad ning kuidas teostada erinevaid logifailidega seotud toiminguid.&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
Veel panin tähele, et inglise keelsetele mõistetele oleks võinud olla lisatud eesti keelsed tõlked. Puudu on kasutatud kirjanduse loetelu.&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
Kokkuvõtvalt võib öelda, et töö on väga puudulik ning ilmselt autor selle tegemisse väga ei süvenenud ning informatsiooni selle kohta ei kogunud. Saab väga üldise ülevaata, mis on Performance Monitor, kuid seda ei saa kasutada juhendina Performance Monitori kasutama õppimisel ning kindlasti on lugejal vaja otsida seetõttu infot kuskilt mujalt.&lt;br /&gt;
&lt;br /&gt;
___________________________________________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lühike ja lakooniline. Üks asi, mis sügavalt häiris, oli sõna vasakul kasutamine.. või mitte kasutamine (kuidas võtta :D)&lt;br /&gt;
&lt;br /&gt;
Retsenseeris Kristjan V.&lt;br /&gt;
...kirjutan hiljem edasi...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsenseerija: Ivar Krustok A22&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Teema on äärmiselt lühike ja korraliku ülevaadet ei saa teemast. Sissejuhatus on ka äärmiselt lühidalt ja vähe informatiivselt tehtud.Välja on toodud mõned pildid, kuid on selgitavad pildid puudu näiteks Data Colletor Setsist ja Reportsist. &lt;br /&gt;
Kuigi on juurde pandud selgitused on need ühe lause pikkused kuigi oleks saanud väga pikalt kirjeldada, mis need on ja mille jaoks neid kasutatakse.Teema oleks saanud väga pikalt lahti kirjutada ja korraliku wiki lehe sellest teha, aga autor on teinud kiiruga ja ilmselt keegi sellest väga informatsiooni ei saa.&amp;quot;Performance Monitor&#039;i saab konfigureerida vastavalt oma vajadustele&amp;quot; artiklisse on pandud küll selline lause, aga pole selgitatud kuidas see täpselt käib või mille jaoks seda üldse vaja on. Oleks võinud siis pildi juurde panna, et mida vajutama pean kus ja milleks, siis oleks ilmselt sellest artiklist kasu ka.&lt;/div&gt;</summary>
		<author><name>Ikrustok</name></author>
	</entry>
</feed>