shell 中函数的用法

一、定义函数

shell 可以使用 function 关键字定义函数:

也可以可以省略关键字 function

调用函数时直接使用函数名就可以了,注意的是函数的定义必须在使用之前。

二、函数的参数和返回值

函数内获取参数的方法和 shell 获取命令行参数的方式一致:

参数处理 说明
$n n 是一个整数,表示第 n 个参数
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的当前进程 ID 号
$! 后台运行的最后一个进程的 ID 号
$@ 与 $*相同,但是使用时加引号,并在引号中返回每个参数
$- 显示 Shell 使用的当前选项,与 set 命令功能相同
$? 显示最后命令的退出状态。 0 表示没有错误,其他任何值表明有错误

传入参数时在函数后加上相应的参数即可,多个参数以空格隔开,例如:mFunc 1 2

参数只能以空格分开,不能是逗号或其他,函数体内通过 $1$2$n 获取各个参数。

函数返回值只能是整形数字,取值范围 0-255 。形式可以是 1,也可以是"1"

函数外通过 $? 获取返回值:

输出:

发表评论