User:Skullara
From ICO wiki
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)