Problem z prostym skryptem "defragmentacja"
: 28 września 2015, 11:49
Na podstawie jednego z wątków napisałem prosty skrypt do defragmentacji. Pojawił się jednak błąd którego rozwiązania nie mogę znaleźć.
Błąd powoduję case "5") tak mi się wydaje, done nie zostaje wykrywane.
Błąd powoduję case "5") tak mi się wydaje, done nie zostaje wykrywane.
Kod: Zaznacz cały
#!/bin/bash
while [ 1 ]
do
clear
echo "********************************************************"
echo "*********** Witam, co chcesz zrobić ? ***********"
echo "********************************************************"
echo "1) Pobierz e2fsprogs (Jessie amd64)"
echo "2) Uruchom e4defrag"
echo "3) Sprawdź fragmentację partycji"
echo "4) Defragmentuj partycję"
echo "5) Błędy podczas defragmentacji"
echo "6) Zamknij skrypt"
echo -n "numer: "
read numer
case "$numer" in
"1") wget http://ftp.pl.debian.org/debian/pool/main/e/e2fsprogs/e2fsprogs_1.42.12-1.1_amd64.deb
echo "Podaj adres w którym znajduję się pobrany plik e2fsprogs"
read adres
dpkg -i $adres/e2fsprogs*
echo "Aby kontynuować wciśnij enter"
read
continue;;
"2") dpkg -S e4defrag
echo "Aby kontynuować wciśnij enter"
read
continue;;
"3") echo "Wskaż partycję którą chcesz sprawdzić np. sda1, sda2..."
read system
e4defrag -c /dev/$system
echo "Aby kontynuować wciśnij enter"
read
continue;;
"4") echo "Wskaż partycję którą chcesz Defragmentować np. sda1, sda2..."
read system
e4defrag /dev/$system
echo "Aby kontynuować wciśnij enter"
read
continue;;
"5") echo "Błędy podczas defragmentacji"
echo "a - wyświetl numery UUID partycji"
echo "b - wskaż ręcznie katalogi do sprawdzenia np. /home, /etc, /usr"
echo "c - wskaż ręcznie katalogi do defragmentacji np. /home, /etc, /usr"
echo -n "numer: "
read podprogram
case "$podprogram" in
"a") lsblk -f
echo "Aby kontynuować wciśnij enter"
read
continue;;
"b") echo "Podaj adres katalogu"
read $katalog
e4defrag -c $katalog
echo "Aby kontynuować wciśnij enter"
read
continue;;
"c") echo "Podaj adres katalogu"
read katalog
e4defrag $katalog
echo "Aby kontynuować wciśnij enter"
read
continue;;
*) echo "Podałeś/łaś zły numer"
read
continue;;
"6") echo "Dozobaczenia ;) "
read
exit;;
*) echo "Podałeś/łaś zły numer"
read
continue;;
esac
done