Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.74 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. stars='************************************'
  4. opcja=0
  5. userid=$(id -u)
  6. delay_time=2
  7.  
  8. function main_menu {
  9.  
  10. clear
  11. sleep $delay_time
  12.     printf "$stars \n* 1 - Zbierz info o systemie       *\n* 2 - Wyswietl zapisane informacje *\n"
  13. if [[ $userid -eq 0 ]] ; then
  14. echo -e "* 3 - Utworz grupe                 *\n* 4 - Utworz uzytkownika           *"
  15. fi
  16. echo -e "* 5 - Pobierz i przetworz plik     *"
  17. echo -e "* 6 - Wyszukaj frazy w plikach     *\n* 0 - Opuszczenie Skryptu          *\n$stars"
  18. }
  19.  
  20. function system_info {
  21. # /run/user/'$userid'/gvfs
  22. if [ -e ./system_info_file ] ; then
  23. rm -f system_info_file
  24. echo "Usuniecie pliku system_info_file"
  25. sleep $delay_time
  26. fi
  27. touch system_info_file
  28. echo "Tworzenie pliku system_info_file"
  29. sleep $delay_time
  30. printf "Zalogowany uzytkownik : " >> system_info_file && whoami >> system_info_file
  31. printf "Katalog domowy        : " >> system_info_file && echo $HOME >> system_info_file
  32. echo "info o pamieci" >> system_info_file
  33. free -m >> system_info_file
  34. echo "Calkowita przestrzen na dysku" >> system_info_file
  35. df >> system_info_file
  36. if [ "$userid" -eq 0 ] ; then
  37. echo "Przestrzen katalogow domowych wszystkich uzytkownikow" >> system_info_file
  38. for f in /home/* ; do
  39. x= du -sh $f >> system_info_file
  40. echo $x
  41. done
  42. else
  43. echo "Przestrzen katalogu domowego uzytkownika:" >> system_info_file
  44. du -hs $HOME >> system_info_file
  45. fi
  46. echo "Zapisano informacje o systemie"
  47. sleep $delay_time
  48. }
  49.  
  50. function create_group {
  51. echo "Podaj nazwe grupy"
  52. read groupname
  53. if [ $(getent group $groupname) ]; then
  54. echo "Grupa juz istnieje. Koncze wykonywanie zadania"
  55. sleep $delay_time
  56. else groupadd $groupname
  57. echo "Dodano grupe $groupname"
  58. sleep $delay_time
  59. fi
  60. }
  61.  
  62. function create_user {
  63. echo "Podaj nazwe uzytkownika"
  64. read username
  65. if [ $(getent passwd $username) ] ;
  66. then echo 'Uzytkownik juz istnieje. Koncze wykonywanie zadania'
  67. exit
  68. else sudo useradd -m $username
  69. echo "Utworzono uzytkownika $username"
  70. sleep $delay_time
  71. fi
  72. while [ -e $0 ] ; do
  73. echo "Podaj nazwe grupy"
  74. read groupname
  75. if [ $(getent group $groupname) ] ; then
  76. usermod -a -G $groupname $username
  77. echo "Dodano uzytkownika $username do grupy $groupname"
  78. sleep $delay_time
  79. passwd $username
  80. break
  81. else
  82. echo "Podana grupa nie istnieje"
  83. sleep $delay_time
  84. fi
  85. done
  86. }
  87.  
  88. function work_file {
  89. if [ -d "./repository" ] ; then
  90. if [ ! -z "$(ls -A ./repository)" ] ; then
  91. while true ; do
  92.     echo "Katalog nie jest pusty! Usunac zawartosc? y/n"
  93.     read choice
  94. if [[ $choice == n* ]] ; then
  95.     echo "Przerywam dzialanie skryptu"
  96.     sleep $delay_time
  97.     exit
  98. elif [[ $choice == y* ]] ; then
  99.     rm -r ./repository
  100.     mkdir ./repository
  101.     break
  102. else
  103.     echo "Podano bledny znak! Powtarzam petle"
  104.     sleep $delay_time
  105. fi
  106. done
  107. fi
  108. fi
  109. wget http://corecontrol.cba.pl/linuxlab.tar -P ./repository
  110. tar -xvf ./repository/linuxlab.tar -C ./repository
  111. echo "Pobrano i rozpakowano plik"
  112. sleep $delay_time
  113. sed -i -e 's/\r$//' ./repository/linuxlab/katalogi.txt
  114. dire=$(cat ./repository/linuxlab/katalogi.txt)
  115. for f in $dire ; do
  116. mkdir -p ./repository/linuxlab/content/"$f"
  117. done
  118. echo "utworzono drzewo katalogow"
  119. sleep $delay_time
  120. for f in ./repository/linuxlab/download/* ; do
  121. for g in $(find ./repository/linuxlab/content/zwierzeta/* -type d -links 2 -exec echo '{}' \; ) ; do
  122. if [ $(basename $g) = $(basename "$f" .jpg) ] ; then
  123. mv $f $g
  124. fi
  125. done
  126. done
  127. echo "przeniesiono pliki do odpowiednich folderow"
  128. sleep $delay_time
  129. }
  130. function search_file {
  131. echo "!"
  132. }
  133. until ["$opcja" -eq 0 ]; do
  134.     main_menu
  135.     read opcja
  136.     case "$opcja" in
  137.     "1") system_info
  138.     ;;
  139.     "2") cat system_info_file && sleep $delay_time
  140.     ;;
  141.     "3")  create_group
  142.     ;;
  143.     "4")  create_user
  144.     ;;
  145.     "5")  work_file
  146.     ;;
  147.     "6")  search_file
  148.     ;;
  149.     "0") break
  150.     ;;
  151.     *) echo "Bledna wartosc"
  152.     ;;
  153.     esac
  154. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement