shell脚本有问题求高手帮忙

范佩西_11 2011-09-07 06:58:22
p=`df -m|grep /oracle|awk '{print $4}'`
if [ "$p" -gt "90%" ] ;then
echo $p
else
exit 1
fi
执行报错:
test.sh: line 2: [: 39%: integer expression expected
p=`df -m|grep /oracle|awk '{print $4}'`
这个地方执行出来为39%
...全文
123 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljc007 2011-11-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wasdzxce 的回复:]
p=`df -hT|grep /oracle|awk '{print $4}'|cut -d "%" -f 1`
#用cut把39%的%去掉,然后进行数值的判断
if [ "$p" -gt 90 ]; then
echo $p
else
exit 1
fi
[/Quote]
不用着cut
p=`df -hT | awk '/\/oracle/{print $4+0}'`
delphiwcdj 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lgxwqq111 的回复:]

if [ "$p" -gt "90%" ]

字符串比较用= !=
只有整数比较使用-gt -lt等等
[/Quote]
++
steptodream 2011-11-11
  • 打赏
  • 举报
回复
除了错误 为什么不看呢 这样错误输出还有什么意义存在 看蓝色部分
test.sh: line 2: [: 39%: integer expression expected
insulted 2011-11-11
  • 打赏
  • 举报
回复
来晚了,3楼一针见血啊!
[Quote=引用 3 楼 lgxwqq111 的回复:]
if [ "$p" -gt "90%" ]

字符串比较用= !=
只有整数比较使用-gt -lt等等
[/Quote]
改正方法在5楼!
向良玉 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wasdzxce 的回复:]

p=`df -hT|grep /oracle|awk '{print $4}'|cut -d "%" -f 1`
#用cut把39%的%去掉,然后进行数值的判断
if [ "$p" -gt 90 ]; then
echo $p
else
exit 1
fi
[/Quote]
+2
王晓彤 2011-11-10
  • 打赏
  • 举报
回复
p=`df -hT|grep /oracle|awk '{print $4}'|cut -d "%" -f 1`
#用cut把39%的%去掉,然后进行数值的判断
if [ "$p" -gt 90 ]; then
echo $p
else
exit 1
fi
justkk 2011-09-07
  • 打赏
  • 举报
回复
试试if [[ "$p" > "90%" ]]
freetstar 2011-09-07
  • 打赏
  • 举报
回复
if [ "$p" -gt "90%" ]

字符串比较用= !=
只有整数比较使用-gt -lt等等
huarc 2011-09-07
  • 打赏
  • 举报
回复
法一:if [[ "$p" -gt "90%" ]] ;then

法二:
if [ -z $p ]; then exit; fi
if [ "$p" -gt "90%" ] ;then
范佩西_11 2011-09-07
  • 打赏
  • 举报
回复
求帮忙

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧