Chinaunix

标题: 怎样向shell函数中传递有空格的字符串参数 [打印本页]

作者: cdma313    时间: 2006-10-17 18:18
标题: 怎样向shell函数中传递有空格的字符串参数
我的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 编辑 ]
作者: cdma313    时间: 2006-10-17 21:16
这个问大家以前遇到过吗?怎么解决的,是sh不支持这样的吗?
作者: 寂寞烈火    时间: 2006-10-17 21:22
对于位置参数的判断,没必要放在函数里,函数的意义就是完成一个特定功能的模块!

你的脚本让人看了比较费解~ 呵呵~ 对于shell函数的讲解和实例,我推荐你看ABS中,关于函数的
http://www.linuxsir.org/main/doc/abs/abs3.7cnhtm/functions.html
作者: cyaln    时间: 2006-10-18 10:29
火兄的军火库真不少哦
作者: wuleisky    时间: 2006-10-23 13:14
你 if [ $# -ne 1 ]; then

什么意思?
如果 参数的个数不等于1的意思吧,myfun $string明显参数就是一个,当然会判断条件成立啊!
作者: talen-t    时间: 2006-10-23 17:26
myfun "$string"




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2