免费注册 查看新帖 |

Chinaunix

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

bash变量 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-15 00:28 |只看该作者 |倒序浏览
bash 定义变量的时候有长度限制吗? 会不会导致溢出,哪位老大知道 谢谢

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-11-15 01:00 |只看该作者
原帖由 honbj 于 2005-11-15 00:28 发表
bash 定义变量的时候有长度限制吗? 会不会导致溢出,哪位老大知道 谢谢

汗一个! 从没注意过!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2005-11-15 01:10 |只看该作者
好像沒有限制...
理論上, 你有多少 memory 就是最大值...

(不是很確定, 最好查一下書.)

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-11-15 01:11 |只看该作者
原帖由 網中人 于 2005-11-15 01:10 发表
好像沒有限制...
理論上, 你有多少 memory 就是最大值...

(不是很確定, 最好查一下書.)

在perl里是没有限制的(像netman所云),不知道shell里啥情况

论坛徽章:
0
5 [报告]
发表于 2005-11-15 01:46 |只看该作者
查了各种中英文档 无果
经测试和个人理解 同意netman的看法

论坛徽章:
0
6 [报告]
发表于 2005-11-15 10:09 |只看该作者
理论上是没有限制的。不过太长会有不可预测的错误发生

论坛徽章:
0
7 [报告]
发表于 2005-11-15 14:36 |只看该作者

测试了一下,似乎只和系统的资源有关系

#!/bin/bash
a="0 1 2 3 4 5 6 7 8 9"
for i in `seq $1`
do
    b=$b$a
done
array=($b)
echo `echo $b|wc -c`
echo ${#array[@]}

论坛徽章:
0
8 [报告]
发表于 2005-11-15 15:18 |只看该作者
为什么会担心这个事啊,
变量命名,怎么也不会有好多好多的字符啊!
type_varName
我认为,这样的命名方式已经很清楚明了了,为什么非要用好多好多的字呢,再说
下次用到那个变量的时候,字短的输入不用多长时间,如果是100个字符的话,那什么是个头啊!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2005-11-15 15:24 |只看该作者
原帖由 icesummit 于 2005-11-15 14:36 发表
#!/bin/bash
a="0 1 2 3 4 5 6 7 8 9"
for i in `seq $1`
do
    b=$b$a                     #$b??
done
array=($b)
echo `echo $b|wc -c`
echo ${#array[@]}


Where is the $b?

论坛徽章:
0
10 [报告]
发表于 2005-11-15 21:48 |只看该作者

b=$b$a

写法没有问题吧?FinalBSD您的意思是?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP