免费注册 查看新帖 |

Chinaunix

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

bash 中的一个普通变量的大小是多少? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-03 21:02 |只看该作者 |倒序浏览
请问:在bash中的一个普通变量的大小是多少?
     #var_a=abcdefghijklmnopqrstuvwxyz....
        究竟可以多大?也就是所普通的系统为一个变量预留多大的空间。
        是否会出现在C上的溢出的问题啊?
谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-09-03 21:55 |只看该作者
根据刚才无聊的测试....

  1. #!/bin/sh
  2. while : ; do
  3.    a="abcdefghijklmnopqrstuvwxyz0123456789"${a}
  4.    echo ${#a}
  5.    sleep 1
  6. done
复制代码

长度到 11xxx 都还很正常....
我想应该是没啥限制吧...@@
但是其它的 cmd 有没有限制就不知道了...
如果怕会溢位可以在使用变数时改变取用的方式
例如限制只取 255个字元
${a:0:255}
${a:255}
都可以.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2006-09-03 22:28 |只看该作者
无限制

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-09-03 23:36 |只看该作者
看你可用的内存有多少.
不過變數名稱本身不得超过 255 個字母.

论坛徽章:
0
5 [报告]
发表于 2006-09-04 09:13 |只看该作者
首先,谢谢各位的测试帮忙!
Thank you !

BTW : 哦! 那就是说,对于bash 本身来说是没有对于变量的约束的条件的。
但是,本身的机器究竟是怎么样子会起到限制作用的。
有意思,为什么bash不对变量的大小进行限制呢?
那么在内存中他如何为一个新的变量开辟一个空间呢?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2006-09-04 09:49 |只看该作者
去问bash的作者吧
Brian Fox,email:bfox@gnu.org Chet Ramey,email:chet@ins.CWRU.Edu

论坛徽章:
0
7 [报告]
发表于 2006-09-04 12:17 |只看该作者
Thank you !
我尝试发个邮件,呵呵!

[ 本帖最后由 stephen412 于 2006-9-4 12:21 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2006-09-04 12:19 |只看该作者
bash是解释语言, 所有变量当成字符串处理的话, 能申请到内存, 都能用来存放变量值哈

论坛徽章:
0
9 [报告]
发表于 2006-09-04 13:11 |只看该作者
楼上正解,它是一个script,搂主不要以 c的 方式来想象它。

论坛徽章:
0
10 [报告]
发表于 2006-09-04 15:50 |只看该作者
哦 !
看来我的角度有问题啊!
呵呵!
谢谢大家!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP