脚本中进行变量计算时,需要加一个[ ],在外面再套一个$
[root@ES25 tmp]# cat real_mem_used01.sh
#!/bin/bash
TOTAL=`free -g|grep Mem |awk '{print $2}'`
USED=`free -g|grep Mem |awk '{print $3}'`
BUFFER=`free -g|grep Mem |awk '{print $6}'`
CACHE=`free -g|grep Mem |awk '{print $7}'`
real_used=$[$USED - $BUFFER - $CACHE]
PUSED=$[$real_used*100/$TOTAL]
echo $PUSED%
[root@ES25 tmp]#
[root@ES25 tmp]# sh real_mem_used01.sh
12%
[root@ES25 tmp]#
方法二:
[root@ES25 tmp]# cat aa.sh #!/bin/bashReal_used=`free -g|grep cache |grep ":"|awk '{print $3}'`Total=`free -g|grep Mem|awk '{print $2}'`awk 'BEGIN{printf"%.2f\n",('$Real_used'/'$Total')*100}'[root@ES25 tmp]# sh aa.sh 10.64[root@ES25 tmp]#