1、 函数定义
格式一:
function name()
{
Command sequence;
}
格式二:
name()
{
Command sequence);
}
1、()内是没有参数的,他只是函数定义的固定格式。
2、第八行fun 是函数的调用(第一种方式)
2、 函数传参
1、在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数…
2、当n>=10时,需要使用${n}来获取参数。
3、 函数调用(第一种方式)
格式:
function_name arg1 arg2 …
1、调用函数时,直接写函数名即可(第12行),参数则是写在函数名的后面,用空格间隔
2、以这种直接调用函数的方式,只是将函数中的标准输出打印出来,而返回值没有打印出来(右图为执行结果)。
4、 函数调用(第二种方式)
格式:
value_name=`function_name arg1 arg2 … `
echo“$value_name”
1、函数名及参数用按键esc下面的两撇扩起来。
2、以这种方式调用函数(第11行),需定义一个用户自定义变量去承接函数,即需要打印value_name里的值。
3、value_name内存放的不是函数的返回值,而是函数中所有标准输出的结果,因此第12行echo “$ret”,也是只将函数中的标准输出打印出来,而返回值依旧没有被打印出来(右图为执行结果)。
5、 打印函数的返回值
格式一:
function_name arg1 arg2 …
echo “$?”
格式二:
value_name=`function_name arg1 arg2 … `
echo “$?”
1、 使用$?打印函数的返回值。
2、 $?属于系统预定义变量,代表上一条shell命令的返回值,因此在shell函数中,打印$?的结果,就是return的值。
(方式一)
(方式二)