shell 脚本中的 shell 函数
函数不仅在 shell 脚本中有用,而且还用于别名不可用的命令行情况。
为了演示,shell 函数在命令行上运行以说明函数的执行方式。
下面的示例创建一个名为 list 的函数,该函数显示当前目录中的子目录和文件总数。
list 函数调用 ls 命令,其输出定向到 wc 命令:
$ function list { ls -al | wc -l; }
$ list 34
Shell 函数与 Shell 别名
Shell 函数和别名在两个方面有所不同。
别名不像函数那样接受参数。
如果命令名称定义为函数和别名,则别名优先。
on
it
road
.com
定义函数
使用以下通用格式定义函数:
# function [function name] { command; . . . command; }
注意:在左大括号之后和右大括号之前必须有一个空格。
以下示例定义了一个名为 num 的函数,该函数显示当前登录到系统的用户总数。
num 函数运行 who 命令,其输出进一步定向到 wc 命令。
$ function num { who | wc -l; }
函数是 shell 编程的一个强大功能,是一组按通用功能组织的命令。
这些易于管理的单元在调用时返回单个值,并且不输出任何内容。
使用函数包括两个步骤:
- 定义函数
- 调用函数
调用函数
我们只需在命令行或者 shell 脚本中输入函数名称即可调用函数。
$ [function name]
例如,要在命令行上调用函数 num,请使用以下命令。
$ num
显示shell函数
要显示函数定义,请使用以下命令:
# typeset -f list () { ls --color=auto -al | wc -l } num () { who | wc -l }
日期:2020-09-17 00:13:57 来源:oir作者:oir