免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7595 | 回复: 13
打印 上一主题 下一主题

弱弱的问一下,-gt 和 > 有什么不同呀 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-06 23:29 |只看该作者 |倒序浏览
if [[ $i -gt 20 ]]
then
{
...
}
fi
就可以的

为什么下面的不可以呀
if [[ $i > 20 ]]
then
{
...
}
fi

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2008-03-06 23:42 |只看该作者
这里>是字符串比较

论坛徽章:
0
3 [报告]
发表于 2008-03-06 23:46 |只看该作者
原帖由 cjaizss 于 2008-3-6 23:42 发表
这里>是字符串比较


是不是只能作字符串比较呀?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2008-03-06 23:55 |只看该作者
原帖由 chliang315 于 2008-3-6 23:46 发表


是不是只能作字符串比较呀?

是的,只能拿来做字符串比较。
一直看不习惯[[]],思想还是停留在UNIX时代.......

论坛徽章:
0
5 [报告]
发表于 2008-03-07 09:16 |只看该作者
用-gt的话:[ 20 -gt 9 ]
用>的话:[[ 9 > 20 ]]

论坛徽章:
0
6 [报告]
发表于 2008-03-07 09:57 |只看该作者
那为什么下面的又可以呀
if [[ $i == 10 ]]
then
{
...
}
if

论坛徽章:
0
7 [报告]
发表于 2008-03-07 10:05 |只看该作者
这个跟shell有关吧

在bash上[[ $i -gt 20 ]] 和 [[ $i > 20 ]]都是可以的
但是-gt更典型的用法应该是 [ $i -gt 20 ]
有的shell是不支持 [[ ]]的

论坛徽章:
0
8 [报告]
发表于 2008-03-07 10:11 |只看该作者
man test
       STRING1 = STRING2
              the strings are equal

       STRING1 != STRING2
              the strings are not equal

       INTEGER1 -eq INTEGER2
              INTEGER1 is equal to INTEGER2

       INTEGER1 -ge INTEGER2
              INTEGER1 is greater than or equal to INTEGER2

       INTEGER1 -gt INTEGER2
              INTEGER1 is greater than INTEGER2

       INTEGER1 -le INTEGER2
              INTEGER1 is less than or equal to INTEGER2

       INTEGER1 -lt INTEGER2
              INTEGER1 is less than INTEGER2

       INTEGER1 -ne INTEGER2
              INTEGER1 is not equal to INTEGER2

论坛徽章:
0
9 [报告]
发表于 2008-03-07 10:19 |只看该作者
原帖由 prc 于 2008-3-7 10:05 发表
这个跟shell有关吧

在bash上[[ $i -gt 20 ]] 和 [[ $i > 20 ]]都是可以的
但是-gt更典型的用法应该是 [ $i -gt 20 ]
有的shell是不支持 [[ ]]的


我在ubuntu下面试的。用的是bash。 这个可以的[[ $i -gt 20 ]] 。 但[[ $i > 20 ]]这个就不可以了。不知道为什么。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
10 [报告]
发表于 2008-03-07 10:26 |只看该作者
原帖由 prc 于 2008-3-7 10:05 发表
这个跟shell有关吧

在bash上[[ $i -gt 20 ]] 和 [[ $i > 20 ]]都是可以的
但是-gt更典型的用法应该是 [ $i -gt 20 ]
有的shell是不支持 [[ ]]的

那你就试试
i=3
if [[ $i > 20 ]]
then
     echo  $i \> 20
else
     echo $i \<  20
fi
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP