Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2014
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.61 KB | None | 0 0
  1. #!/bin/bash
  2. pomoc() {
  3.     echo "Uporaba: $1 akcija parametri"
  4.     echo "Akcije: leto, fib, info, tocke, pomoc"   
  5.  
  6. }
  7. status(){
  8.     stev1=$1
  9.     stev2=$2
  10.     flag=1
  11.    
  12.     until [ "$flag" -eq 0 ];
  13.         do
  14.             let "flag = $stev1 % $stev2"
  15.            
  16.             stev1=$stev2
  17.             stev2=$flag
  18.         done
  19.     exit $stev1
  20. }
  21. leto() {
  22.     leto=$1
  23.     if [[ $((leto%4)) == 0 ]]; then
  24.         if [[ $((leto%100)) == 0 ]]; then
  25.             if [[ $((leto%400)) == 0 ]]; then
  26.                 echo "Leto $leto je prestopno."
  27.             else
  28.                 echo "Leto $leto ni prestopno."
  29.             fi
  30.         else
  31.             echo "Leto $leto je prestopno."
  32.         fi 
  33.     else
  34.         echo "Leto $leto ni prestopno."
  35.     fi
  36.  
  37. }
  38.  
  39. fib() {
  40.     stevilo=$1
  41.     rezultat=0 a=1
  42.     for (( i=0; i<stevilo; i++ ))
  43.        do
  44.           rezultat=$(($rezultat+$a))
  45.           a=$(($rezultat-$a))
  46.        done
  47.     echo "$stevilo: $rezultat"
  48. }
  49. userinfo() {
  50.  
  51.     uporabnik=$1
  52.     obstaja=""
  53.     enaka=""
  54.     error=""
  55.     stSkupin=0;
  56.     numGroups=""
  57.    
  58.    
  59.    
  60.     if id -u $uporabnik >/dev/null 2>&1; then
  61.  
  62.         idUporabnik=$(id -u $uporabnik)
  63.         idGroup=$(id -g $uporabnik)
  64.         numGroups=$(groups $uporabnik)
  65.  
  66.         for i in $numGroups
  67.             do
  68.                 stSkupin=$(( $stSkupin+1 ))
  69.             done
  70.        
  71.  
  72.     else
  73.         error="err"
  74.     fi
  75.  
  76.     if [[ "$idUporabnik" -eq "$idGroup"  ]]; then
  77.         enaka="enaka"
  78.     fi
  79.    
  80.     if [[ -d "/home/$uporabnik" ]]; then
  81.         obstaja="obstaja"
  82.     fi
  83.    
  84.         if [[ $error == "err" ]]; then
  85.             echo "$uporabnik: $error"
  86.         else
  87.             stSkupin=$(( $stSkupin-2 ))
  88.             echo "$uporabnik: $enaka $obstaja $stSkupin "
  89.         fi 
  90. }
  91.  
  92.  
  93. neznana() {
  94.     echo "Napacna uporaba skripte!"
  95.     echo "Uporaba: $1 akcija parametri"
  96.     echo "Akcije: leto, fib, info, tocke, pomoc"
  97. }
  98. drevo() {
  99.    
  100.     FILES="$1"
  101.     globina="$2"
  102.     stevec=$3;
  103.     crtice="---"
  104.     for  (( i=1; i<stevec; i++ ))
  105.         do
  106.             crtice+="----"
  107.         done
  108.  
  109.     if [ "$FILES" != "0" ];then
  110.         cd "$FILES"
  111.     fi
  112.     for FILE in *
  113.         do 
  114.                     if [[ -L $FILE ]]; then
  115.                         echo "$crtice-LINK  $FILE"
  116.  
  117.                     elif [[ -d $FILE ]]; then
  118.                         echo "$crtice-DIR   $FILE"
  119.  
  120.                     if (( "$stevec" <= "$2" )); then
  121.                        
  122.                          stevec=$(( $stevec +1 ));
  123.                        
  124.                          cd "$FILE"
  125.                             drevo 0 $2 $stevec
  126.                          stevec=$(( $stevec - 1 ));
  127.                          cd ..
  128.                          if [ $stevec -lt "1" ];then
  129.                             stevec=1;
  130.                             crtice="---"
  131.                          fi
  132.                        fi
  133.                    
  134.                     crtice="---";
  135.                     for  (( i=1; i<stevec; i++ ))
  136.                     do
  137.                         crtice+="----"
  138.                     done
  139.                     elif [[ -c $FILE ]]; then
  140.                         echo "$crtice-CHAR  $FILE)"
  141.                     elif [[ -b $FILE ]]; then
  142.                         echo "$crtice-BLOCK $FILE"
  143.                     elif [[ -p $FILE ]]; then
  144.                         echo "$crtice-PIPE  $FILE"
  145.                     elif [[ -S $FILE ]]; then
  146.                         echo "$crtice-SOCK  $FILE"
  147.                     elif [[ -f $FILE ]]; then
  148.                         echo "$crtice-FILE  $FILE"
  149.                     fi
  150.         done    
  151. }
  152.  
  153. if [[ "$1" == "leto" ]]; then
  154.     for i in ${@:2}
  155.         do
  156.             leto $i
  157.         done
  158.     exit 0
  159. elif [[ "$1" == "status" ]]; then
  160.         status $2 $3
  161.     exit 0
  162. elif [[ "$1" == "fib" ]]; then
  163.     for i in ${@:2}
  164.         do
  165.             fib $i
  166.         done
  167.     exit 0
  168. elif [[ "$1" == "userinfo" ]]; then
  169.     if [ $# == 1 ]; then
  170.         allUsers=$(cat /etc/passwd|cut -d: -f1|egrep -v '^s'|sort -n)
  171.         for i in $allUsers
  172.             do
  173.                 userinfo $i
  174.             done
  175.     else
  176.         for i in ${@:2}
  177.             do
  178.                 userinfo $i
  179.             done
  180.     fi
  181.     exit 0
  182.  
  183.  
  184. elif [[ "$1" == "pomoc" ]]; then
  185.     pomoc $0
  186.     exit 0
  187. elif [[ "$1" == "drevo" ]];then
  188.     echo "DIR   $2"
  189.     defaultGlobina=2;
  190.     defaultStevec=1;
  191.     if [ -z "$2" ] && [ -z "$3" ]; then
  192.        drevo "$PWD" "$defaultGlobina" $defaultStevec
  193.     elif [ -z "$2" ] && [ -n "$3" ]; then
  194.        drevo "$PWD" "$3" $defaultStevec
  195.     elif [ -n "$2" ] && [ -z "$3" ];  then
  196.        drevo "$2" $defaultGlobina $defaultStevec
  197.     elif [ -n "$2" ] && [ -n "$3" ]; then
  198.        drevo "$2" "$3" $defaultStevec
  199.     else
  200.         pomoc $0
  201.     fi
  202.     exit 0
  203. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement