I'm new to Linux and have very limited experience with shell scripts in general. I am taking a class and I have to research online and come up with a shell script that monitors disk space. I also have to be able to explain it line by line. I've researched various sites and came across this shell script. I typed it in and saved it but when I try to run it I get this error message: line 10: [: Use: integer expression expected. Line 10 is this one:
if [ $usep -ge $ALERT ]; then
Now that line uses the output from line 8, as well as the defined variable from line 4. Now line 4 is an integer, and when I look at line 8, it looks like it should resolve be an integer...so I can't figure out what is wrong here. Any help would be appreciated.
#!/bin/bash
# comment
ADMIN="(I have an email address here)"
ALERT=90
df -H | grep -vE '^none' | awk ' { print $5 " " $1 }' | while read output;
do
#echo $output
usep=$(echo $output | awk ' { print $1 }' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge $ALERT ]; then
echo "Running out of space \"$partition ($usep%)\" on$(hostname) as on $(date)"|
mail -s "Alert: Almost out of disk space $usep" $ADMIN
fi
done