BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


奥运快报: 
奥运热点:
 

关于ksh中数字比较
首页 » 论坛 » Shell »  
[打印] [订阅] [收藏] [推荐给朋友] [本帖文本页]
risepp   帅哥
精灵王




UID:299421
注册:2005-8-5
最后登录: 2008-07-26
帖子:291
精华:0

可用积分:308 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
1楼 发表于 2008-7-8 10:08 
我写了一个测试脚本,代码很简单,如下:
#!/bin/ksh
a=20000000000
b=10000000000

if [[ $a -le $b ]] then
echo "1"
else
echo "2"
fi


运行结果是1,如果修改一下a和b的值,去掉一个0

#!/bin/ksh
a=2000000000
b=1000000000

if [[ $a -le $b ]] then
echo "1"
else
echo "2"
fi

运行结果是2,请问这个是怎么回事啊? 数字超过最大支持长度么?
请高手指教,谢谢了!



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
walkerxk
大天使
还是不能上网!难道要等残奥 ...



UID:351339
注册:2005-12-18
最后登录: 2008-08-29
帖子:2270
精华:0

可用积分:1746 (家境小康)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...保密...

[个人空间] [短信] [博客]


顶部
2楼 发表于 2008-7-8 10:38 
我这运行结果都是2,是不是你的20000000000超过限制了,所以成了负数?



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

开源资源:
软件下载http://software.lupaworld.com
开源镜像http://mirror.lupaworld.com
手册中心http://man.lupaworld.com
欢迎大家访问,并提出建议和意见。
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
walkerxk
大天使
还是不能上网!难道要等残奥 ...



UID:351339
注册:2005-12-18
最后登录: 2008-08-29
帖子:2270
精华:0

可用积分:1746 (家境小康)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...保密...

[个人空间] [短信] [博客]


顶部
3楼 发表于 2008-7-8 10:40 
walkerxk@www:~$ ksh --version
  version         sh (AT&T Research) 1993-12-28 s+
walkerxk@www:~$
加了N个0,还是2:
walkerxk@www:~$ cat a
#!/bin/ksh
a=200000000000000000000000000000000000000000000000
b=100000000000000000000000000000000000000000000000

if [[ $a -le $b ]] then
echo "1"
else
echo "2"
fi
walkerxk@www:~$ ./a
2
walkerxk@www:~$



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

开源资源:
软件下载http://software.lupaworld.com
开源镜像http://mirror.lupaworld.com
手册中心http://man.lupaworld.com
欢迎大家访问,并提出建议和意见。
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
edei2004   帅哥 (tao)
圣骑士



UID:604603
注册:2007-8-18
最后登录: 2008-08-15
帖子:102
精华:0

可用积分:142 (白手起家)
信誉积分:0
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
4楼 发表于 2008-7-8 11:20 
我这运行结果都是2 加了N个零答案也是2



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
risepp   帅哥
精灵王




UID:299421
注册:2005-8-5
最后登录: 2008-07-26
帖子:291
精华:0

可用积分:308 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
5楼 发表于 2008-7-8 11:55 
不会吧,我是在hpux上运行的
/home/install_test/6.15/oms/oracle>uname -a
HP-UX autohpux B.11.11 U 9000/800 832940680 unlimited-user license

版本看不到也,我又试了一下,9个0的时候正确,10个0就不正确了!



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
寂寞烈火   帅哥
老法王


CU奥运火炬传递手2008
荣誉会员  
UID:187152
注册:2004-10-1
最后登录: 2008-08-29
帖子:23830
精华:5

可用积分:12245 (大富大贵)
信誉积分:110
空间积分:621 (稍有积蓄)
专家积分:87 (本版)

来自:北京海淀
状态:...离线...

[个人空间] [短信] [博客]


顶部
6楼 发表于 2008-7-8 12:26 
我的结果跟楼主一样, 环境linux+pdksh



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


CYGWIN_NT-5.1 a5732224882a41b 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin
GNU bash, version 3.2.39(20)-release (i686-pc-cygwin)

空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
walkerxk
大天使
还是不能上网!难道要等残奥 ...



UID:351339
注册:2005-12-18
最后登录: 2008-08-29
帖子:2270
精华:0

可用积分:1746 (家境小康)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...保密...

[个人空间] [短信] [博客]


顶部
7楼 发表于 2008-7-8 13:11 
pdksh果然不行。
walkerxk@www:~$ cat a
#!/bin/pdksh
if [[ $1 -lt $2 ]]
then
echo "lt"
else if [[ $1 -eq $2 ]]
        then
        echo "eq"
        fi
echo "gt"
fi
walkerxk@www:~$ ./a 20000000000 19500000000
gt
walkerxk@www:~$ ./a 20000000000 1
lt
walkerxk@www:~$ ./a 20000000000 0
lt
walkerxk@www:~$
应该是当成负数处理了。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

开源资源:
软件下载http://software.lupaworld.com
开源镜像http://mirror.lupaworld.com
手册中心http://man.lupaworld.com
欢迎大家访问,并提出建议和意见。
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
risepp   帅哥
精灵王




UID:299421
注册:2005-8-5
最后登录: 2008-07-26
帖子:291
精华:0

可用积分:308 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
8楼 发表于 2008-7-8 15:30 
pdksh是什么东东,我这边是把数字缩短了。是操作系统限制还是有某个参数控制啊? 谢谢!  我是把这个问题绕过去了,把比较的数字长度缩短了!



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
walkerxk
大天使
还是不能上网!难道要等残奥 ...



UID:351339
注册:2005-12-18
最后登录: 2008-08-29
帖子:2270
精华:0

可用积分:1746 (家境小康)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...保密...

[个人空间] [短信] [博客]


顶部
9楼 发表于 2008-7-8 15:37 


QUOTE:
原帖由 risepp 于 2008-7-8 15:30 发表
pdksh是什么东东,我这边是把数字缩短了。是操作系统限制还是有某个参数控制啊? 谢谢!  我是把这个问题绕过去了,把比较的数字长度缩短了!

应该是pdksh的问题。bash和ksh我加了20个0还是对的。
下面是pdksh的描述
A public domain version of the Korn shell
PD-ksh is a mostly complete AT&T ksh look-alike (see NOTES file for a list
of things not supported).  Work is currently underway to make it fully
compatible with both POSIX and AT&T ksh (when the two don't conflict).
.
Since pdksh is free and compiles and runs on most common Unix systems,
it is very useful in creating a consistent user interface across multiple
machines.  For example, in the CS department of MUN, pdksh is installed
on a variety of machines including Suns, HPs, DecStations, PCs running
Linux, etc., and is the login shell of ~4500 users.
Homepage: http://www.cs.mun.ca/~michael/pdksh/
Original-Maintainer: Robert Luberda <robert@debian.org>



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

开源资源:
软件下载http://software.lupaworld.com
开源镜像http://mirror.lupaworld.com
手册中心http://man.lupaworld.com
欢迎大家访问,并提出建议和意见。
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
risepp   帅哥
精灵王




UID:299421
注册:2005-8-5
最后登录: 2008-07-26
帖子:291
精华:0

可用积分:308 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
10楼 发表于 2008-7-8 17:37 
谢谢天使的分享,那我怎么知道我的ksh是不是属于pdksh呢? 能查看得到么?
我当时用发现这个问题是使用的hpux下的/bin/ksh



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘

首页 » 论坛 » Shell »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.066200 second(s), 4 queries , Gzip enabled