shell自定义函数及参数调用解析

(编辑:jimmy 日期: 2024/12/25 浏览:2)

一、定义函数

复制代码 代码如下:
function fname()
{
statements;
}


复制代码 代码如下:
fname()
{
statements;
}

二、调用函数

只需要使用函数名,即可调用某个函数:
$ fname ; #执行函数

可以传递参数给函数,并由脚本进行访问:
fname arg1 arg2; # 传递参数

以下是函数fname的定义。在函数fname中,包含了各种访问函数参数的方法。
复制代码 代码如下:
fname()
{
  echo $1, $2; # 访问参数1和参数2
  echo "$@"; # 以列表的方式一次性打印所有的参数
  echo  "$*"; # 类似于$@,但是参数被作为单个实体(字符串)
  return 0; # 返回值
}

类似地,参数可以传递给脚本并通过script:$0(脚本名)访问。

有关bash中函数参数的注解:
$1是第一个参数。
$2是第二个参数。
$n是第n个参数。
"$@"被扩展成"$1" "$2" "$3"等。
"$*"被扩展成"$1c$2c$3c",其中c是IFS的第一个字符。
"$@"用得最多。由于"$*"将所有的参数当作单个字符串,因此它很少被使用。