免费注册 查看新帖 |

Chinaunix

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

too many arguments [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-03 14:46 |只看该作者 |倒序浏览
#!/bin/bash
if [ -z $1 -o -z $2 -o -z $3 -o -z $4 -o -z $5 -o -z $6 -o -z $7 ]
then
    echo 'hehe'
else
    echo 'haha'
fi

./test.sh: line 2: [: too many arguments
haha

论坛徽章:
0
2 [报告]
发表于 2009-04-03 14:47 |只看该作者
请问这样的问题怎么解决  传7个参数进来  判断空

才7个参数就不行了吗?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2009-04-03 14:58 |只看该作者
$1 ... $7 双引号引起来

论坛徽章:
0
4 [报告]
发表于 2009-04-03 15:01 |只看该作者
不错  谢谢楼上的

论坛徽章:
0
5 [报告]
发表于 2009-04-03 15:12 |只看该作者
恩,第一次见那么多参数的,学习下!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2009-04-03 15:15 |只看该作者
应该判断参数的数量是不是大于6,就可以了

论坛徽章:
0
7 [报告]
发表于 2009-04-03 15:15 |只看该作者
原帖由 ywxwillam 于 2009-4-3 14:46 发表
#!/bin/bash
if [ -z $1 -o -z $2 -o -z $3 -o -z $4 -o -z $5 -o -z $6 -o -z $7 ]
then
    echo 'hehe'
else
    echo 'haha'
fi

./test.sh: line 2: [: too many arguments
haha


这个报错有问题吧!不加引号也应该是这个报错!

test: argument expected

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2009-04-03 15:38 |只看该作者
原帖由 beginner-bj 于 2009-4-3 15:15 发表
应该判断参数的数量是不是大于6,就可以了


對,這思路更好!

或是直接測 $7 就行。
因為若前面(1-6)的參數都沒,也不會有7。

论坛徽章:
0
9 [报告]
发表于 2009-04-03 19:13 |只看该作者
原帖由 ywxwillam 于 2009-4-3 14:46 发表
#!/bin/bash
if [ -z $1 -o -z $2 -o -z $3 -o -z $4 -o -z $5 -o -z $6 -o -z $7 ]
then
    echo 'hehe'
else
    echo 'haha'
fi

./test.sh: line 2: [: too many arguments
haha

这么多个o让我晕了半天明白是在看参数个数

论坛徽章:
0
10 [报告]
发表于 2009-04-03 19:35 |只看该作者

回复 #9 haimming 的帖子

让我想到小时候算数从1+2+3+4+5+.....+100
怎么算。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP