红联Linux门户
Linux帮助

shell下function提示出错啊!

发布时间:2010-10-04 11:15:01来源:红联作者:1025955575
第一次提问,请大家见谅!
我输入最简单的function函数:
#!/bin/bash
#hello-fun
function hello()
{
echo "hello,today is `date`"
return 1
}

提示以下错误:
ymj@ymj-laptop:~/scripts$ sh hello_function.sh
hello_function.sh: 3: Syntax error: "(" unexpected
怎么解决?谢谢!
文章评论

共有 7 条评论

  1. 于 2012-10-15 15:10:23发表:

    估计是shell版本的问题吧,鸟哥有些运行出来确实报错。把funtion关键字去掉就OK了,比如
    #!/bin/bash
    test_func() { echo "yes" }
    test_func

  2. 1025955575 于 2010-10-04 22:19:51发表:

    恩,成了,呵呵,谢谢啊!这样是运行成了,跟你说的一样!
    哇,好不容易啊,还要努力@@,呵呵

  3. shenhao0129 于 2010-10-04 22:09:44发表:

    不要用sh来运行,直接用chmod给hello_function.sh加上执行属性,然后./hello_function.sh来运行就好了,目前在我的archlinux上运行成功

  4. 1025955575 于 2010-10-04 19:30:51发表:

    我是将你的代码复制到里面的,运行时和之前的一样!
    整个过程是这样:我输入vi hello_function.sh
    编写
    #!/bin/bash
    #hello-fun
    function hello()
    {
    echo "hello,today is `date`"
    return 1
    }
    hello
    运行:
    sh hello_function.sh
    提示:
    hello_function.sh: 3: Syntax error: "(" unexpected
    我试着把最后一个hello去掉,结果一样。
    我看鸟哥的书,编里面的一个function函数的例子,也是这个错误!
    所以才来请教!
    请帮忙解决一下,谢谢!

  5. shenhao0129 于 2010-10-04 13:58:14发表:

    .......我贴出来的代码都能正确的得到运行的结果,难道你贴上不不能用吗?
    很明显你是只写出来那个函数来,并没有调用任何地方调用这个函数

  6. 1025955575 于 2010-10-04 12:13:18发表:

    谢谢你,不过没解决@@,哎,求解决,感谢ing。。。

  7. shenhao0129 于 2010-10-04 11:59:32发表:

    帮你修改了一下,下面是正确的结果[code]#!/bin/bash
    #hello-fun
    function hello()
    {
    echo "hello,today is `date`"
    return 1
    }
    hello
    [/code]运行结果如下:[code]hello,today is 2010年 10月 04日 星期一 11:57:57 CST[/code]