LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1377|回复: 11

编写简单函数的方法[欢迎讨论]

[复制链接]
发表于 2003-1-28 23:54:28 | 显示全部楼层 |阅读模式
才学到函数,跟大家讨论讨论 ;)
  1. $function name   
  2. >{                  
  3. >while            
  4. >sleep 5
  5. >do ls > 1.txt
  6. >done
  7. >}               
  8. $name              //执行.
复制代码

其中function是关键字,name是函数名
以 { 花括号开始  以 } 花括号结束
中间为语句,此处为举例.
通常来说执行一个函数要比使用.命令快得多.
发表于 2003-1-29 00:15:02 | 显示全部楼层
可以用declare -f查看已经定义的函数,注意,重启以后定义的函数就没有了,呵呵,到时候别哭阿,:)
 楼主| 发表于 2003-1-29 00:27:07 | 显示全部楼层
对.相应的typeset -f name 也可以查看 ;)
方便的话Pye兄能不能给咱具体唠唠关于函数的知识 ?
发表于 2003-1-29 10:12:54 | 显示全部楼层
怎么修改已经定义的函数呢?
 楼主| 发表于 2003-1-29 11:45:42 | 显示全部楼层
那就必须建立一个自己的函数库,,就是一个目录,这个目录存放按照所包含的函数命名的文件,必须要用FPATH保留变量指向这个目录,脚本必须用autoload关键字调用函数,...当然这个目录里的函数文件你是可以修改的了.;)
如果你只是在命令行中定义的函数,在退出shell的时候,他就不符存在啦~~
发表于 2003-1-29 21:04:33 | 显示全部楼层
也没有什么好说的,function就是和写程序的时候用的funcion一样,先定义后使用,也可以嵌套。都是由单条的语句组合起来的,呵呵,但是可以实现强大的功能。
 楼主| 发表于 2003-1-29 23:44:34 | 显示全部楼层
Pye兄说得对!
其实函数说复杂就复杂说简单就简单,平时我们打的许多命令,都是shell内制的函数,象cd,typeset等...它给我们带来很多便利!
 楼主| 发表于 2003-1-30 01:49:17 | 显示全部楼层
函数与脚本谁的执行速度快?
  1. [javalee@Linux javalee]$ function a
  2. > {
  3. > echo ok
  4. > }
  5. [javalee@Linux javalee]$ a
  6. ok
  7. [javalee@Linux javalee]$ count=0
  8. [javalee@Linux javalee]$ time for (( count=0 ; count<1000 ; count++))
  9. > do
  10. > a
  11. > done > /dev/null
  12. real    0m0.089s    //执行函数所消耗时间
  13. user    0m0.090s
  14. sys     0m0.000s
  15. [javalee@Linux javalee]$ time for (( count=0 ; count<1000 ; count++))
  16. > do
  17. > . a
  18. > done > /dev/null
  19. real    0m0.233s    //执行脚本所消耗时间
  20. user    0m0.191s
  21. sys     0m0.035s
  22. [javalee@Linux javalee]$ cat a
  23. #! /bin/bash
  24. echo ok
  25. [javalee@Linux javalee]$
复制代码
发表于 2003-1-30 10:40:28 | 显示全部楼层
呵呵怎么参加发表回复就只有两位版主啊?
其他的兄弟去哪里了?
发表于 2003-1-30 10:49:44 | 显示全部楼层
这儿,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表