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