Chinaunix

标题: 求教:LINUX中[ "$dbsize" -gt "500" ]这句话如何写? [打印本页]

作者: 橡皮鱼鱼    时间: 2006-11-15 11:11
标题: 求教:LINUX中[ "$dbsize" -gt "500" ]这句话如何写?
在KSH中这句话报错,请问因该如何转换?
作者: waker    时间: 2006-11-15 11:20
如果 dbsize不是整数,在哪个shell中都是报错
作者: 橡皮鱼鱼    时间: 2006-11-15 11:28
#!/bin/sh
isql -Uitoper -Psybase <<EOF >dbsize.txt
use store
go
sp_helpsegment 'default'
go
EOF
dbsize=$(awk '/MB/ && NF==4{print $3*2/1024}' dbsize.txt)
rm dbsize.txt
if  [ "$dbsize" -gt "500" ]
then
     echo "\n your database" $dbsize"MB FREE ONLY"
     echo "\n OK,U CAN GO ON"
     sleep 10
else
     echo "\n your database" $dbsize"MB FREE ONLY"
     echo "\n NOT ENOUGH SPACE,PLS DELETE DATA"
     echo "\n Hit any key to return exit \n"
     read any_key
     exit 1
fi

这段话在LINUX的KSH中报错!!!
作者: waker    时间: 2006-11-15 11:34
1.请问你的/bin/sh是ksh或是ksh的链接么?
2.在你的脚本中加一句 echo x"$dbsize"x检查一下 dbsize
3.个人建议读新手导航第1/2帖50遍
作者: 橡皮鱼鱼    时间: 2006-11-15 12:03
我取得的数字不是整数,有小数点2位,那因该用什么来比较。。。
作者: waker    时间: 2006-11-15 12:08
你在awk处理的时候可以直接用printf打印成整数,然后用 -ge判断
作者: 橡皮鱼鱼    时间: 2006-11-15 12:17
awk '/MB/ && NF==4{printf $3*2/1024}' dbsize.txt

改成上述,取得的值还是有小数点2位,不是整数呀???
作者: rwx_hc    时间: 2006-11-15 12:41
原帖由 橡皮鱼鱼 于 2006-11-15 12:17 发表
awk '/MB/ && NF==4{printf $3*2/1024}' dbsize.txt

改成上述,取得的值还是有小数点2位,不是整数呀???

printf "%d",$3*2/1024
作者: 橡皮鱼鱼    时间: 2006-11-15 13:29
谢谢2位,问题解决!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2