Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- pomoc() {
- echo "Uporaba: $1 akcija parametri"
- echo "Akcije: leto, fib, info, tocke, pomoc"
- }
- status(){
- stev1=$1
- stev2=$2
- flag=1
- until [ "$flag" -eq 0 ];
- do
- let "flag = $stev1 % $stev2"
- stev1=$stev2
- stev2=$flag
- done
- exit $stev1
- }
- leto() {
- leto=$1
- if [[ $((leto%4)) == 0 ]]; then
- if [[ $((leto%100)) == 0 ]]; then
- if [[ $((leto%400)) == 0 ]]; then
- echo "Leto $leto je prestopno."
- else
- echo "Leto $leto ni prestopno."
- fi
- else
- echo "Leto $leto je prestopno."
- fi
- else
- echo "Leto $leto ni prestopno."
- fi
- }
- fib() {
- stevilo=$1
- rezultat=0 a=1
- for (( i=0; i<stevilo; i++ ))
- do
- rezultat=$(($rezultat+$a))
- a=$(($rezultat-$a))
- done
- echo "$stevilo: $rezultat"
- }
- userinfo() {
- uporabnik=$1
- obstaja=""
- enaka=""
- error=""
- stSkupin=0;
- numGroups=""
- if id -u $uporabnik >/dev/null 2>&1; then
- idUporabnik=$(id -u $uporabnik)
- idGroup=$(id -g $uporabnik)
- numGroups=$(groups $uporabnik)
- for i in $numGroups
- do
- stSkupin=$(( $stSkupin+1 ))
- done
- else
- error="err"
- fi
- if [[ "$idUporabnik" -eq "$idGroup" ]]; then
- enaka="enaka"
- fi
- if [[ -d "/home/$uporabnik" ]]; then
- obstaja="obstaja"
- fi
- if [[ $error == "err" ]]; then
- echo "$uporabnik: $error"
- else
- stSkupin=$(( $stSkupin-2 ))
- echo "$uporabnik: $enaka $obstaja $stSkupin "
- fi
- }
- neznana() {
- echo "Napacna uporaba skripte!"
- echo "Uporaba: $1 akcija parametri"
- echo "Akcije: leto, fib, info, tocke, pomoc"
- }
- drevo() {
- FILES="$1"
- globina="$2"
- stevec=$3;
- crtice="---"
- for (( i=1; i<stevec; i++ ))
- do
- crtice+="----"
- done
- if [ "$FILES" != "0" ];then
- cd "$FILES"
- fi
- for FILE in *
- do
- if [[ -L $FILE ]]; then
- echo "$crtice-LINK $FILE"
- elif [[ -d $FILE ]]; then
- echo "$crtice-DIR $FILE"
- if (( "$stevec" <= "$2" )); then
- stevec=$(( $stevec +1 ));
- cd "$FILE"
- drevo 0 $2 $stevec
- stevec=$(( $stevec - 1 ));
- cd ..
- if [ $stevec -lt "1" ];then
- stevec=1;
- crtice="---"
- fi
- fi
- crtice="---";
- for (( i=1; i<stevec; i++ ))
- do
- crtice+="----"
- done
- elif [[ -c $FILE ]]; then
- echo "$crtice-CHAR $FILE)"
- elif [[ -b $FILE ]]; then
- echo "$crtice-BLOCK $FILE"
- elif [[ -p $FILE ]]; then
- echo "$crtice-PIPE $FILE"
- elif [[ -S $FILE ]]; then
- echo "$crtice-SOCK $FILE"
- elif [[ -f $FILE ]]; then
- echo "$crtice-FILE $FILE"
- fi
- done
- }
- if [[ "$1" == "leto" ]]; then
- for i in ${@:2}
- do
- leto $i
- done
- exit 0
- elif [[ "$1" == "status" ]]; then
- status $2 $3
- exit 0
- elif [[ "$1" == "fib" ]]; then
- for i in ${@:2}
- do
- fib $i
- done
- exit 0
- elif [[ "$1" == "userinfo" ]]; then
- if [ $# == 1 ]; then
- allUsers=$(cat /etc/passwd|cut -d: -f1|egrep -v '^s'|sort -n)
- for i in $allUsers
- do
- userinfo $i
- done
- else
- for i in ${@:2}
- do
- userinfo $i
- done
- fi
- exit 0
- elif [[ "$1" == "pomoc" ]]; then
- pomoc $0
- exit 0
- elif [[ "$1" == "drevo" ]];then
- echo "DIR $2"
- defaultGlobina=2;
- defaultStevec=1;
- if [ -z "$2" ] && [ -z "$3" ]; then
- drevo "$PWD" "$defaultGlobina" $defaultStevec
- elif [ -z "$2" ] && [ -n "$3" ]; then
- drevo "$PWD" "$3" $defaultStevec
- elif [ -n "$2" ] && [ -z "$3" ]; then
- drevo "$2" $defaultGlobina $defaultStevec
- elif [ -n "$2" ] && [ -n "$3" ]; then
- drevo "$2" "$3" $defaultStevec
- else
- pomoc $0
- fi
- exit 0
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement