首页 > 系统服务 > 详细

linux shell脚本基础-----3

时间:2014-03-17 13:52:03      阅读:592      评论:0      收藏:0      [点我收藏+]

6. 函数

function_name() {
   statements      
}

  注意:

    必须在调用一个函数之前先对它进行定义,不存在前向声明;

    当一个函数被调用时,脚本程序的位置参数($*,$@,$#,$1,$2等)会被替换为函数的参数。这也是读取传递给函数的参数的办法。当函数执行完毕后,这些参数会恢复为它们先前的值。

    可以通过return命令让函数返回数字值(注意,return不能返回字符串值)。为让一个函数返回字符串,可以echo一个字符串并捕获其结果(因为子进程会继承父进程的标准输出,因此,子进程的输出也就直接反应到父进程)

    如果在函数里没有使用return命令指定一个返回值,函数返回的就是执行的最后一条命令的退出码

bubuko.com,布布扣
#!/bin/sh

foo(){
  echo "Hello"  
}

result="$(foo)"
echo $result

exit 0
bubuko.com,布布扣

 

bubuko.com,布布扣
#!/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"   #将$1传递给yes_or_no  
then
    echo "Hi $1, nice name"
else
    echo "Newer mind"
fi

echo
bubuko.com,布布扣

linux shell脚本基础-----3,布布扣,bubuko.com

linux shell脚本基础-----3

原文:http://www.cnblogs.com/wangzhijun/p/3602726.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!