User:Skullara

From ICO wiki
Jump to navigationJump to search

Quest 16 - Osta elevant ära:

Teha programm, mis käivitamisel paku kasutajale "osta elevant ära" ja ootaks kasutaja sisendit. Ükskõik mida kasutaja sisestab ütleb skript "Seda ütlevad kõik, aga osta elevant ära" ja nii lõpmatuseni.

Lahendus:

#!/bin/bash
#Autor: Silver Kullarand; skullara@itcollage.ee
#Rühm A21
#Versioon: 1.0
#Osta elevant ära

echo "Osta elevant ära"
while :
do
    read TEKST
    echo "Seda ütlevad kõik, aga osta elevant ära"
done

Quest 13 - kas kasutaja kuulub gruppi?:

Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi. Tagastab 0, kui kuulub ja 1 kui ei kuulu.user_in_group.sh <kasutaja> <grupp>

Lahendus 1 - Bash:

#!/bin/bash
#Autor: Silver Kullarand; skullara@itcollage.ee
#Rühm A21
#Versioon: 1.0
#Skript, mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.
#Sisestus : user_in_group.sh <kasutaja> <grupp> 

#Etteantud parameetrite kontroll
if [ $# -ne 2 ]; then
    echo "Käivita skript $(basename $0) parameetritega : <kasutaja> <grupp>"
    exit 1
fi
#Defineerin muutujad
    KASUTAJA=$1
    GRUPP=$2
#Kasutaja ja grupi võrdlemine
if [ $(groups $KASUTAJA | cut -f2 -d":" | grep $GRUPP -w -c) = 1 ]; then
    exit 0    
#Ei kuulu etteantud gruppi
else
    exit 1
fi

Lahendus 2 - Python:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Autor: Silver Kullarand; skullara@itcollage.ee
#Rühm A21
#Versioon: 1.0
#Skript, mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.
#Sisestus : user_in_group.py <kasutaja> <grupp> 

import sys
import commands

#Etteantud parameetrite kontroll
if len(sys.argv[1:]) != 2:
    print "Käivita skript %s parameetritega : <kasutaja> <grupp>" % (sys.argv[0])
    sys.exit(1)

#Kasutaja ja grupi võrdlemine
str = commands.getoutput("groups %s" % (sys.argv[1])).split(" ")
if sys.argv[2] in str[2:]:
# kuulub gruppi
    sys.exit(0)
else:
# ei kuulu gruppi
    sys.exit(1)