www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、什么是函数

把经常反复调用的代码封装起来起一个名字。当用到这段代码时直接调用函数,可以节省时间和空间. 通过使用函数,可以使脚本代码更加简洁,增强易读性,提高Shell脚本的执行效率
2、如何定义函数

——在脚本里定义
2.1、定义函数的方法/格式
(1)格式1

function 函数名 {

命令序列

……………………..

}
(2)格式2

——这种方法较常用

函数名() {

命令序列

……………………..

}
2.3、使用函数时的规划

(1)函数是先定义后调用

(2)函数名相同,后面定义的函数生效

(3)在函数体里定义的变量是局部变量,只能在函数体内使用;在函数体外定义的变量是全局变量,任意函数都能使用

(4)函数名区分大小写

(5)函数之间可以互相调用
3、如何使用函数

(1)直接使用函数名调用

(2)如果函数能处理位置参数,以”函数名参数1  参数2  ……….”

(3)可以根据需要多次调用
4、如何给函数传数据(传值)

格式:

函数名值1  值2 …..

——传递的值作为函数的位置变量



示例:

任意个数的数值相加
1
2
3
4
5
6
7
8
9
10
11
    
#!/bin/bash
sum(){
s=""
until [ $# -eq 0 ]
do
        let s+=$1
        shift
done
echo $s
}
sum $*


fork炸弹,仅13个字符,递归死循环,会产生海量进程,迅速耗尽系统资源
vim fork.sh
.( )      #定义.函数
{           #函数块开始
.|.&     #递归调用.,若不成功,则后台掉用.
}           #函数块结束
;            #与下一条执行语句分隔
.            #调用该函数

posted on 2014-03-07 22:02  秦瑞It行程实录  阅读(229)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui