shell函数

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
.( )      #定义.函数
{           #函数块开始
.|.&     #递归调用.,若不成功,则后台掉用.
}           #函数块结束
;            #与下一条执行语句分隔
.            #调用该函数

原文地址:https://www.cnblogs.com/ruiy/p/Shell_func.html