Bash näited 2013
From ICO wiki
Siit lehelt leiad tunnis tetud bash näited
Skript loob kausta
#!/bin/bash
# Loo skript, mis küsib kasutajalt kausta nime
# loob kausta, kui seda veel ei ole
# kui kausta ei saa luua, siis ütleb seda kasutajale
# skript tagastab 0, kui kausta loomine õnnestus
# skript tagastab 1, kui kaust on olemas
# skript tagastab 2, kui kausta loomine ei õnnestunud
read -p "Palun sisesta kausta nimi:" KAUST
if [ -d "$KAUST" ]
then
echo "Kaust $KAUST on juba olemas"
exit 1
else
mkdir "$KAUST" || {
echo "Kasuta loomine ebaõnnestus"
exit 2
}
fi
exit 0
Skript arhiveerib *.txt failid
#!/bin/bash
# Loo skript, mis leiab kasutaja kodukaustast kõik .txt laiendiga failid ja
# teeb neist pakitud varukoopia nimega failid-AASTA-KUU-PÄEV.tar.gz
# fail tuleb luua kasutaja kodukausta
# Näiteks failid-2013-02-12.tar.gz
# Skript tagastab 0, kui kõik õnnestus
# Skript tagastab 1, kui faili loomine ei õnnestunud
FAILINIMI=$HOME/failid-$(date +%Y-%m-%d).tar.gz
NIMEKIRI=$(find $HOME -name '*.txt')
tar cfz $FAILINIMI $NIMEKIRI || exit 1
exit 0
Tunnis näitena lahendatud ülesenne (Robert Vane)
#!/bin/bash
#Robert Vane
export LC_ALL=C
export LANG=C
muutuja=$(less /home/student/Töölaud/robot.itcollege.ee-access.log | cut -d' ' -f1 | sort -u)
for word in $muutuja
do
ip=$word
var=$(host $word)
var1=$?
if [ $var1 -eq 0 ]
then
echo $var | cut -d' ' -f5
fi
if [ $var1 -eq 1 ]
then
echo "$ip HOSTI EI LEITUD"
fi
done
exit 0