免费注册 查看新帖 |

Chinaunix

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

怎样向shell函数中传递有空格的字符串参数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-17 18:18 |只看该作者 |倒序浏览
我的shell函数只能有一个参数$1,
#!/bin/sh
myfun ()
{
    if [ $# -ne 1 ]; then
         echo "please input one parameter"
         exit 1
    fi
   
    echo $1
}

string="good good"
myfun $string

#结束了

我运行我的脚本时出错了,程序判断成有两个参数了。请各位兄弟帮我看一下,先谢谢了。

[ 本帖最后由 cdma313 于 2006-10-17 21:39 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-10-17 21:16 |只看该作者
这个问大家以前遇到过吗?怎么解决的,是sh不支持这样的吗?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2006-10-17 21:22 |只看该作者
对于位置参数的判断,没必要放在函数里,函数的意义就是完成一个特定功能的模块!

你的脚本让人看了比较费解~ 呵呵~ 对于shell函数的讲解和实例,我推荐你看ABS中,关于函数的
http://www.linuxsir.org/main/doc/abs/abs3.7cnhtm/functions.html

论坛徽章:
0
4 [报告]
发表于 2006-10-18 10:29 |只看该作者
火兄的军火库真不少哦

论坛徽章:
0
5 [报告]
发表于 2006-10-23 13:14 |只看该作者
你 if [ $# -ne 1 ]; then

什么意思?
如果 参数的个数不等于1的意思吧,myfun $string明显参数就是一个,当然会判断条件成立啊!

论坛徽章:
0
6 [报告]
发表于 2006-10-23 17:26 |只看该作者
myfun "$string"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP