专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell脚本编程实例>

Bash 中的递归函数介绍

百度收藏 QQ搜藏

    作为一种解释性语言,尽管 bash 对编程提供了一定的支持,但是在某些方面却存在一些限制。本文将逐一探讨在 bash 中编写递归函数时需要注意的返回值、参数传递和性能等方面的问题,并给出可能的解决方法,最后对如何优化 shell 脚本性能提供了一个建议。

前言
    作为 Linux/Unix 系统上内核与用户之间的接口,shell 由于使用方便、可交互能力强、具有强大的编程能力等特性而受到广泛的应用。bash(Bourne Again shell)是对 Bourne shell 的扩展,并且综合了很多 csh 和 Korn Shell 中的优点,使得 bash 具有非常灵活且强大的编程接口,同时又有很友好的用户界面。bash 所提供的诸如命令补齐、通配符、命令历史记录、别名之类的新特性,使其迅速成为很多用户的首选。

    然而,作为一种解释性语言,bash 在编程能力方面提供的支持并不像其他编译性的语言(例如 C 语言)那样完善,执行效率也会低很多,这些缺点在编写函数(尤其是递归函数)时都展现的一览无余。本文将从经典的 fork 炸弹入手,逐一介绍在 bash 中编写递归函数时需要注意问题,并探讨各种问题的解决方案。

    尽管本文是以 bash 为例介绍相关概念,但是类似的思想基本上也适用于其他 shell。

递归经典:fork炸弹
返回值问题
参数传递问题
性能问题


作者简介
    冯锐,软件工程师,目前在 IBM 开发中心从事 AIX 性能测试方面的工作。邮箱(fengrui@cn.ibm.com)。
    丁成,软件工程师,目前在 IBM 开发中心从事 AIX 性能测试方面的工作,邮箱(dingc@cn.ibm.com).

上一篇:使用shell的-n/-x/-x执行选项调试Shell脚本 下一篇:递归经典之教你制做fork炸弹

power by soyo123 2007-2008