shell function

1976阅读 2评论2012-04-22 glinuxi
分类:Python/Ruby

     函数复用是优质代码的一大特征,因此在大型的程序,会经常见到函数。
     对于shell语言来讲,执行函数并不独立创建子个进程,常用的做法,是将函数写入文件的其他文件中,当需要时将它载入脚本
   1> shell执行命令的顺序:
         交互shell在获得用户命令输入时,并不是直接就在PATH路径中查找,而是按照固定顺序依次寻找命令的位置。搜索的顺序为
2>函数的使用规则:
3>函数的定义:
                 function funname()  #这种情况下,空圆括号不是必须的
                 {
                         shell commands 
                 }
                 funname()
                 {
                         shell commands 
                 }
删除函数:unset -f   filename

例子:

  1. #!/bin/bash
  2. name=$1
  3. ok() {
  4.     if who | grep $name > /dev/null
  5.     then
  6.         echo "user $name is on"
  7.     else
  8.         echo "user $name is off"
  9.     fi
  10. }
  11. ok
  12. echo
注意:对于$1该脚本的参数,
运行方式:
              1>        chmod u+x filename.sh
                          ./filename.sh username
              2>       source filename.sh
4>函数的参数和返回值
 参数:可以像使用命令一样向函数传递位置参数,位置参数是私有的,对位置参数的任何操作都不会影响函数的外部操作
局部变量local :使用local时,定义在函数的内部变量,内部变量在函数返回时消失,不会影响外部同名的变量
返回方式:如果没有指定return的参数,则return 返回的最后一条语句的执行状态

例子:add.sh

  1. #!/bin/bash
  2.   var1=$1
  3.   var2=$2
  4.   add()
  5.   {
  6.        let "sum=$var1+$var2"
  7.        return $sum
  8.    }
  9.   add
命令:source add.sh 1 2
           echo $?
结果:3
 

上一篇:SHELL 编程的基本元素
下一篇:计算机网络的基础知识

文章评论