免费注册 查看新帖 |

Chinaunix

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

有关test的问题,方括号里的数字 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-31 21:23 |只看该作者 |倒序浏览
假如写个测试用的死循环:
while true
do
:
done

或者把true改成方括号也可以
while [ 1 ]
……


我想问题一下[ 1 ]代表的是什么?返回值是真就继续吗?还有没有其它的数字含义,怎么看文档的时候没有发现方括号内直接放数字的测试,请各位路过的朋友多指点一二,谢谢!

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2011-12-31 21:34 |只看该作者
你分别试试0、1、2、3
再思考一会

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
3 [报告]
发表于 2011-12-31 21:43 |只看该作者
help test
然后自己想一下就知道了

论坛徽章:
0
4 [报告]
发表于 2011-12-31 22:14 |只看该作者
。。。这是编程语言最初级的东西吧,基础啊,楼主

论坛徽章:
0
5 [报告]
发表于 2011-12-31 22:18 |只看该作者
Re:2#
我试过了,都一样,不管是0,还是2,还是5,还是字符a,还是b……都一样。

Re:3#
英文不大好,有些单词不认识,理解得不太好。惭愧……

还是似懂非懂啊。现在只知道while后跟true或者flase会影响,如果是方括号的话,好像里面放什么数字和字母,只要不放表达式都没有影响。

论坛徽章:
0
6 [报告]
发表于 2012-01-01 00:22 |只看该作者
本帖最后由 yangkyo821 于 2012-01-01 00:26 编辑

[  ] 是test命令的一种写法,man test 里面可以看到
       -n STRING
              the length of STRING is nonzero

       STRING equivalent to -n STRING
-n是测试字符串长度是否为非0的,非0返回True,0返回False;而不用-n直接接字符串跟-n是等价的
你可以试下[ 1 ] && echo right和[ -n 1 ] && echo right
再试下[ "" ] && echo right和[  ] && echo right 和 [ -n '' ] && echo right

论坛徽章:
0
7 [报告]
发表于 2012-01-01 20:06 |只看该作者
yangkyo821 发表于 2012-01-01 00:22
[  ] 是test命令的一种写法,man test 里面可以看到
       -n STRING
              the length of STR ...

非常感谢,这个问题算是明白了。
真是惭愧,还得要人指点才行。看样子英文不学学还是不行啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP