日期:2014-05-16  浏览次数:20908 次

shell脚本添加了function就会报错
PHP code
#!/bin/sh
function urlencode()
{
    echo $1 | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g'
}

usage="Usage: mdb <set | get | apply> <attribute> <value>"
case "$1" in
    "apply")
        # echo $0 apply attribute value!
        submit commit
        ;;
    "get")
        # echo $0 get $2 value
        case "$2" in
            fw_version)
                rgdb -i -g /runtime/sys/info/firmwareVersion
                ;;



代码没写完整,想说的问题是:当我把function那四行注释掉,脚本能正常运行。可是如果加上function的代码,就算脚本里没有调用它,运行脚本,仍会报错“syntax error”。不知道哪里错了,希望大家帮忙。

------解决方案--------------------
function urlencode()
===>
urlencode()

/bin/sh 一般是Bourne shell, 不支持 function 关键字的(bash支持function关键字)