#!/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关键字)
原因是因为:原先板子里用的busybox里的sh是msh,我把它换成了ash(好像比msh功能强大一点),现在能支持function关键词了。