BASH - instrukcja warunkowa: sprawdzanie miejsca na dysku

0

Witam, mam zrobić mały program, który sprawdzi ilość miejsca na dysku.
Jeśli jest mniej niż 10%, to wypisze coś, jeśli więcej niż 50% to coś innego.
Próbowałem już wielu sposobów, zawsze kończy się błędem składniowym lub problemem z wyrażeniem całkowitym w if'ie.
Pomocy :d


function menedzer
{
echo 'Podaj nazwe katalogu: '
read katalog

df -h $katalog

ilosc= df -h /home | cut -d' ' -f14 |grep %|cut -d% -f 1

min=10
med=50

if [ $min > $ilosc ]; then
    echo 'Malo miejsca'
fi
if [ '$ilosc' -gt '$med' ]; then
    echo 'Duzo miejsca'
fi
}
menedzer```
4
if [[ `df / | tail -1 | tr -s '[:space:]' | cut -f5 -d' ' | cut -f1 -d'%'` > 50 ]]; then echo "OK"; else echo "NOT OK"; fi
0

Tego potrzebowałem!

0

A masz pomysł jak zrobić coś takiego?

Przygotuj skrypt który: (S/R)
• Jako argument przyjmuje nazwę konta użytkownika
• Uruchamiany jest tylko przez root
• Jeśli uruchomiony zostanie jako nie root to zwróci informacje oraz zakończy
działanie
• Jeśli konto nie istnieje zwróci informacje i zakończy działanie
• Wyświetli wszystkie pliki w danym katalogu, do których użytkownik ma prawa
odczytu

0

Zacząłem tak (wiem, bardzo naokoło, ale nie mam pomysłu jak inaczej), ale nie wiem jak wyświetlić pliki dla danego uzytkownika

`#!bin/bash
suma=0
echo 'Podaj nazwe uzytkownika'
read user


for konto in $(cut -d: -f1 /etc/passwd)
do
    if [ "$user" != "root" ]; then
    suma=5
    fi
done
if [ "$suma" != 5 ]; then
    echo 'To konto jest nieodpowiednie! Uzyj konta root!'
    exit
fi

for konto in $(cut -d: -f1 /etc/passwd)
do
    if [ "$user" == "$konto" ]; then
    suma=1
    fi
done
echo $suma

if [ "$suma" -eq 0 ]; then
    echo 'Nie ma takiego konta!'
    exit
fi`
0

Do sprawdzania usera użyć możesz id. To Ci załatwia dwa pierwsze punkty. A do szukania plików find.

1 użytkowników online, w tym zalogowanych: 0, gości: 1