Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- stars='************************************'
- opcja=0
- userid=$(id -u)
- delay_time=2
- function main_menu {
- clear
- sleep $delay_time
- printf "$stars \n* 1 - Zbierz info o systemie *\n* 2 - Wyswietl zapisane informacje *\n"
- if [[ $userid -eq 0 ]] ; then
- echo -e "* 3 - Utworz grupe *\n* 4 - Utworz uzytkownika *"
- fi
- echo -e "* 5 - Pobierz i przetworz plik *"
- echo -e "* 6 - Wyszukaj frazy w plikach *\n* 0 - Opuszczenie Skryptu *\n$stars"
- }
- function system_info {
- # /run/user/'$userid'/gvfs
- if [ -e ./system_info_file ] ; then
- rm -f system_info_file
- echo "Usuniecie pliku system_info_file"
- sleep $delay_time
- fi
- touch system_info_file
- echo "Tworzenie pliku system_info_file"
- sleep $delay_time
- printf "Zalogowany uzytkownik : " >> system_info_file && whoami >> system_info_file
- printf "Katalog domowy : " >> system_info_file && echo $HOME >> system_info_file
- echo "info o pamieci" >> system_info_file
- free -m >> system_info_file
- echo "Calkowita przestrzen na dysku" >> system_info_file
- df >> system_info_file
- if [ "$userid" -eq 0 ] ; then
- echo "Przestrzen katalogow domowych wszystkich uzytkownikow" >> system_info_file
- for f in /home/* ; do
- x= du -sh $f >> system_info_file
- echo $x
- done
- else
- echo "Przestrzen katalogu domowego uzytkownika:" >> system_info_file
- du -hs $HOME >> system_info_file
- fi
- echo "Zapisano informacje o systemie"
- sleep $delay_time
- }
- function create_group {
- echo "Podaj nazwe grupy"
- read groupname
- if [ $(getent group $groupname) ]; then
- echo "Grupa juz istnieje. Koncze wykonywanie zadania"
- sleep $delay_time
- else groupadd $groupname
- echo "Dodano grupe $groupname"
- sleep $delay_time
- fi
- }
- function create_user {
- echo "Podaj nazwe uzytkownika"
- read username
- if [ $(getent passwd $username) ] ;
- then echo 'Uzytkownik juz istnieje. Koncze wykonywanie zadania'
- exit
- else sudo useradd -m $username
- echo "Utworzono uzytkownika $username"
- sleep $delay_time
- fi
- while [ -e $0 ] ; do
- echo "Podaj nazwe grupy"
- read groupname
- if [ $(getent group $groupname) ] ; then
- usermod -a -G $groupname $username
- echo "Dodano uzytkownika $username do grupy $groupname"
- sleep $delay_time
- passwd $username
- break
- else
- echo "Podana grupa nie istnieje"
- sleep $delay_time
- fi
- done
- }
- function work_file {
- if [ -d "./repository" ] ; then
- if [ ! -z "$(ls -A ./repository)" ] ; then
- while true ; do
- echo "Katalog nie jest pusty! Usunac zawartosc? y/n"
- read choice
- if [[ $choice == n* ]] ; then
- echo "Przerywam dzialanie skryptu"
- sleep $delay_time
- exit
- elif [[ $choice == y* ]] ; then
- rm -r ./repository
- mkdir ./repository
- break
- else
- echo "Podano bledny znak! Powtarzam petle"
- sleep $delay_time
- fi
- done
- fi
- fi
- wget http://corecontrol.cba.pl/linuxlab.tar -P ./repository
- tar -xvf ./repository/linuxlab.tar -C ./repository
- echo "Pobrano i rozpakowano plik"
- sleep $delay_time
- sed -i -e 's/\r$//' ./repository/linuxlab/katalogi.txt
- dire=$(cat ./repository/linuxlab/katalogi.txt)
- for f in $dire ; do
- mkdir -p ./repository/linuxlab/content/"$f"
- done
- echo "utworzono drzewo katalogow"
- sleep $delay_time
- for f in ./repository/linuxlab/download/* ; do
- for g in $(find ./repository/linuxlab/content/zwierzeta/* -type d -links 2 -exec echo '{}' \; ) ; do
- if [ $(basename $g) = $(basename "$f" .jpg) ] ; then
- mv $f $g
- fi
- done
- done
- echo "przeniesiono pliki do odpowiednich folderow"
- sleep $delay_time
- }
- function search_file {
- echo "!"
- }
- until ["$opcja" -eq 0 ]; do
- main_menu
- read opcja
- case "$opcja" in
- "1") system_info
- ;;
- "2") cat system_info_file && sleep $delay_time
- ;;
- "3") create_group
- ;;
- "4") create_user
- ;;
- "5") work_file
- ;;
- "6") search_file
- ;;
- "0") break
- ;;
- *) echo "Bledna wartosc"
- ;;
- esac
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement