User:Skullara: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 24: | Line 24: | ||
Tagastab 0, kui kuulub ja 1 kui ei kuulu.user_in_group.sh <kasutaja> <grupp> | Tagastab 0, kui kuulub ja 1 kui ei kuulu.user_in_group.sh <kasutaja> <grupp> | ||
'''Lahendus:''' | '''Lahendus 1 - Bash:''' | ||
<source lang="bash"> | <source lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
Line 48: | Line 48: | ||
exit 1 | exit 1 | ||
fi | fi | ||
</source> | |||
'''Lahendus 2 - Python:''' | |||
<source lang="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) | |||
</source> | </source> |
Latest revision as of 10:44, 15 May 2011
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)