首先我们先来一个简单的脚本程序
#!/bin/sh
foo() {
echo "executing"
}
echo "starting"
foo
echo "end"
exit 0
这里,我们只需要注意一点,因为shell脚本的执行顺序是从上往下依次执行的,所以我们必须在使用函数前对函数进行声明。这点尤其重要。
接着,我们来编写一个有返回值的函数,稍微增加一点难度,
#!/bin/sh
yes_or_no() {
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 "Original parameters are $*"
if yes_or_no "$1"
then
echo "hi $1, nice name"
else
echo "Never mind"
fi
exit 0
在这个程序里面,我们首先定义了函数yes_or_no,在函数的主体部分进行调用时执行,我们看看这个脚本的执行
$ ./my_name Rick Neil
这里我们执行脚本时传给脚本参数,他们被保存在$1 $2中,并传递给函数进一本执行。这两个简单的例子说明了shell脚本的执行过程及参数传递。(补充一点:在上面的例子中,case中的条件已经记着要以;; 两个分好结束!)