shell函数说明
1.函数调用时,脚本的位置函数($* $@ $# $1...)会被替换为函数的参数,函数执行完毕后,会恢复原值
2.函数中的变量默认为全局作用域,除非使用local关键字定义
3.通过return 命令可以让函数返回数字值,常用于表示函数执行是否成功。如果返回字符串值,则需要在函数中使用echo,然后再在函数外使用$()捕获;或者将字符串存在一个变量中,函数执行完毕后读取该变量
4.如果函数中没有使用 return 指定返回值,则函数返回值为最后一条命令的退出码($?捕获返回值)
5.简单事例

#!/bin/bash
foo()
{
  echo "is your name  $* ?"
  while true
  do
    echo -n "enter yes or no:"
    read x
    case $x in
        y|yes) return 0;;
        n|no) return 1;;
        *) echo "answer yes or no"
    esac
  done
}

echo "your parameters is $*"
if foo "$1"
then
  echo "hi $1,nice name"
else
  echo "never mind"
fi

exit 0