LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2811|回复: 2

请大家帮帮忙 integer expression expected 问题 很急!!

[复制链接]
发表于 2006-6-22 16:15:46 | 显示全部楼层 |阅读模式
这段shell在一个嵌入式系统上运行超过48小时,有很大几率出现integer expression expected的问题。请大家帮帮忙,看一下。
**************************************************************
#!/bin/sh
#try

try_1()
{
cd /xx/
find /xx/ ! -type d | xargs ls -trl | sed '/bak/d' | awk '{print $9}' | sed -n '1,6p' | xargs rm -f>/dev/null 2>&1  

delete
}

main()
{
sleep 5
choice
}

choice()
{

used=`df | awk '{if($1~/hda3/) print $4}'`
if [ "$used" = "" ];then
sleep 60
main
elif [ "$used" -lt "42000" ];then
delete
else
sleep 60
main
fi        
}
delete()
{
usedd=`df | awk '{if($1~/hda3/) print $4}'`
if [ "$usedd" -lt "50000" ];then
sleep 5
try_1
else
main
fi
}

main
**************************************************************
发表于 2006-6-23 02:13:48 | 显示全部楼层
  1. [ "$used" -lt "42000" ]
复制代码

This is not the best way to compare integer.
  1. [[ $userd < 42000 ]] OR (( $userd < 42000 ))
复制代码
should be more safer. "[]" will more likely get logic error than the rest two. Pls try and see...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-23 08:56:58 | 显示全部楼层
thanks,have a try!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表