rozman50

03112019 novDodaj.sh

Mar 11th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.73 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. isFlagPredmet=false
  4. isFlagOptional=false
  5. isFlagSklop=false
  6.  
  7. # check for optional flags (--ocena, --tocke, --info)
  8. for opt in "$@"
  9. do
  10.     if [[ $opt == "--ocena" || $opt == "-o" || $opt == "--tocke" || $opt == "-t" || $opt == "--info" || $opt == "-i" ]]; then
  11.         isFlagOptional=true
  12.     fi
  13. done
  14.  
  15. function checkLetnik {
  16. if [[ -z $letnik ]]; then
  17.     # preverim, ce spremenljivka letnik obstaja, drugace
  18.     # grem v direktorij $HOME/RIT in listam vse direktorije
  19.     # -t -sortira po time&date
  20.     # -d -list directories
  21.     # -a -prikaze vse datoteke, tudi skrite
  22.     # */ -gleda samo direktorije
  23.     # head -1 -vrne samo najvisjega enega
  24.     letnikUncut=$(cd $HOME/RIT; ls -dta */ | head -1)
  25.     # letnikUncut je 1_letnik/, zato zadnjega odrežem,
  26.     # da dobim 1_letnik
  27.         echo "LetnikUncut: $letnikUncut"
  28.     letnik=${letnikUncut::-1}
  29.     echo "Letnik: $letnik"
  30. else
  31.     echo "Ze obstaja"
  32. fi
  33. }
  34.  
  35. function checkSemester {
  36. if [[ -z $semester ]]; then
  37.     semesterUncut=$(cd $HOME/RIT/$letnik; ls -dta */ | head -1)
  38.     echo "SemesterUncut: $semesterUncut"
  39.     semester=${semesterUncut::-1}
  40.     echo "Semester: $semester"
  41. fi
  42. }
  43.  
  44. while [[ -n $1 ]]
  45. do
  46.     if [[ $1 == "--letnik" || $1 == "-l" ]]; then
  47.         shift
  48.         a=$1
  49.         b=_letnik
  50.         letnik=$a$b
  51.         shift
  52.         # preveri, ce direktorij (-d) obstaja
  53.         if ! [[ -d $HOME/RIT/$letnik ]]; then
  54.             mkdir $HOME/RIT/$letnik
  55.         else
  56.             # posodobi mu modified timestamp, da lahko preverim
  57.             # kater letnik je bil spremenjen zadnji
  58.             touch $letnik
  59.         fi
  60.     fi
  61.     if [[ $1 == "--semester" || $1 == "-s" ]]; then
  62.         shift
  63.         a=$1
  64.         b="_semester"
  65.         semester=$a$b
  66.         shift
  67.  
  68.         checkLetnik
  69.         # (cd $HOME/RIT; ls -lt /* | head -1)
  70.         # if [[ -z "$letnik" ]]; then
  71.         #   letnikUncut=$(cd $HOME/RIT; ls -t */ | head -1)
  72.         #   # letnikUncut je 1_letnik/:, zato zadnja 2 odrežem,
  73.         #   # da dobim 1_letnik
  74.         #   letnik=${letnikUncut::-2}
  75.         # fi
  76.         # preveri, ce direktorij (-d) obstaja
  77.         if ! [[ -d  $HOME/RIT/$letnik/$semester ]]; then
  78.             mkdir $HOME/RIT/$letnik/$semester
  79.         else
  80.             # mu posodobi zadnji cas spremembe, da lahko pregledam
  81.             # kateri semester je bil nazadnje spremenjen
  82.             touch $HOME/RIT/$letnik/$semester
  83.         fi
  84.     fi
  85.     if [[ $1 == "--predmet" || $1 == "-p" ]]; then
  86.         shift
  87.         isFlagPredmet=true
  88.         predmet=$1
  89.         checkLetnik
  90.         checkSemester
  91.         path=$HOME/RIT/$letnik/$semester/$predmet
  92.         echo "Predmet: $predmet"
  93.  
  94.         echo "isFLagOptional: $isFlagOptional"
  95.         if ! [[ -d $path ]]; then
  96.             echo "Path je: $path"
  97.             mkdir $path
  98.             touch $path/{INFO,OCENA}.txt
  99.             mkdir $path/{Predavanja,Vaje}
  100.             touch $path/{Predavanja,Vaje}/INFO.txt $path/{Predavanja,Vaje}/TOCKE.txt
  101.             echo "Predmet: $predmet"
  102.         elif [[ $isFlagOptional == true ]]; then
  103.             :
  104.         else
  105.             echo "OPOZORILO: predmet $predmet ze obstaja v $letnik/$semester"
  106.         fi
  107.     fi
  108.  
  109.     if [[ $1 == "--sklop" || $1 == "-s" ]]; then
  110.         if [[ $isFlagPredmet == true ]]; then
  111.             $isFlagSklop=true
  112.             shift
  113.             # make first letter uppercase - vaje to Vaje
  114.             sklop="${1^}"
  115.             virSklop=$HOME/RIT/$letnik/$semester/$predmet
  116.             echo "$(cd $virSklop/$sklop; ls)"
  117.         fi
  118.     fi
  119.  
  120.     if [[ $1 == "--ocena" || $1 == "-o" ]]; then
  121.         if [[ $isFlagPredmet == true ]]; then
  122.             shift
  123.             ocena=$1
  124.             virOcena=$HOME/RIT/$letnik/$semester/$predmet
  125.             echo $ocena > $virOcena/OCENA.txt
  126.             cat $virOcena/OCENA.txt
  127.         fi
  128.     fi
  129.  
  130.     if [[ $1 == "--info" || $1 == "-i" ]]; then
  131.         if [[ $isFlagPredmet == true && $isFlagSklop == true ]]; then
  132.             shift
  133.             info="$@"
  134.             virInfo=$HOME/RIT/$letnik/$semester/$predmet/$sklop
  135.             echo $info >> $virInfo/INFO.txt
  136.             echo "Info: "
  137.             cat $virInfo/INFO.txt
  138.         elif [[ $isFlagPredmet == true ]]; then
  139.             shift
  140.             info="$@"
  141.             virInfo=$HOME/RIT/$letnik/$semester/$predmet
  142.             echo $info >> $virInfo/INFO.txt
  143.             echo "Info: "
  144.             cat $virInfo/INFO.txt
  145.         fi
  146.     fi
  147.     shift
  148. done
Add Comment
Please, Sign In to add comment