Error: integer expression expected

root@server01 [~]# df -h |  grep /tmp | awk {'print $3}'
252M
root@server01 [~]#



root@server01 [~]# cat /usr/local/tmpchk.sh
#!/bin/sh

x=`df -h |  grep /tmp | awk {'print $3}'`

if [ $x -ge 380 ] ;

then

rm -fr /tmp/somefolder/

else

echo "its small"
exit 0

fi
root@server01 [~]#



root@server01 [~]# sh /usr/local/tmpchk.sh
/usr/local/tmpchk.sh: line 5: [: 252M: integer expression expected
its small
root@server01 [~]#

Please advise what is wrong in the above script.

Thanks

[ $x -ge 380 ] --> [ 252M -ge 380 ] : "252M" is not an integer expression. You need to drop the "M".

awk {'print $3}' : While it's not germaine to the integer error, the first quote in the awk program should be just before the opening brace.

Regards,
Alister

1 Like

Thank you Alister