1、定义shell函数(define function)shell
语法:bash
[ function ] funname [()]函数
{spa
action;code
[return int;]io
}编译
说明:function
一、能够带function fun() 定义,也能够直接fun() 定义,不带任何参数。class
二、参数返回,能够显示加:return 返回,若是不加,将以最后一条命令运行结果,做为返回值。 return后跟数值n(0-255test
实例(testfun1.sh):
#!/bin/sh
fSum 3 2;
function
fSum()
{
echo
$1,$2;
return
$(($1+$2));
}
fSum 5 7;
total=$(fSum 3 2);
echo
$total,$?;
从上面这个例子咱们能够获得几点结论:
一、必须在调用函数地方以前,声明函数,shell脚本是逐行运行。不会像其它语言同样先预编译。一次必须在使用函数前先声明函数。
二、total=$(fSum 3 2); 经过这种调用方法,咱们清楚知道,在shell 中 单括号里面,能够是:命令语句。 所以,咱们能够将shell中函数,看做是定义一个新的命令,它是命令,所以 各个输入参数直接用 空格分隔。 一次,命令里面得到参数方法能够经过:$0…$n获得。 $0表明函数自己。
三、函数返回值,只能经过$? 系统变量得到,直接经过=,得到是空值。其实,咱们按照上面一条理解,知道函数是一个命令,在shell得到命令返回值,都须要经过$?得到。