Bash näited 2013

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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