脚本中凡是可以出现模式操作规则的位置都可以放置用户自定义的函数。
格式
函数名
(参数
,参数
,参数
, ...
)
{
语句
return 表达式
(注: return语句和表达式都是可选项 )
}
语句
return 表达式
(注: return语句和表达式都是可选项 )
}
变量以参数值的方式传递,且仅在使用它的函数中局部有效。函数使用的只是变量的副本。数组则通过地址或引用被传递,因此,可以在函数中直接修改数组的元素。函数中的任何变量,只要不是从参数列表中传来的,就都被视为全局变量,也就是说,该变量对整个awk程序都是可见的,而且,如果它在函数中发生了改变,即在整个程序中发生了改变。在函数中提供局部变量的唯一途径就是将它加入参数列表中。这类参数通常放在参数列表的末端。当调用函数时,如果没有指定某个形参的值,该参数就会被初始化为空。return语句会把控制权交还给调用者,可能还会返回一个值。
范例
$
cat grades
44 55 66 22 77 99
100
44 55 66 22 77 99
100