专业的编程技术博客社区

网站首页 > 博客文章 正文

shell——函数介绍(shell function)

baijin 2025-02-04 12:39:34 博客文章 185 ℃ 0 评论

在Shell脚本中可以定义并使用函数。其定义格式为:

[function]函数名( )
{ 
  命令表
}

  其中,关键字function可以缺省。

  函数应先定义,后使用。调用函数时,直接利用函数名,如showfile,不必带圆括号,就像一般命令那样使用。

Shell脚本与函数间的参数传递可利用位置参数变量直接传递

变量的值可以由Shell脚本传递给被调用的函数,而函数中所用的位置参数$1、$2,等对应于函数调用语句中的实参,这一点是与普通命令不同的。下面是使用函数的示例:

#func is a function name
func()
{
echo "begin:"
echo $a $b $c#变量直接传递
echo $1 $2 $3#位置参数
echo "end"
}
a=5 b=10 c=1999
func month day year
echo "today is `date`"

结果:

[hadoop@localhost dzztest]$ ./b.sh
begin:
5 10 1999
month day year
end
today is Sat Sep 10 03:03:22 PDT 2022

  执行函数并不创建新的进程,是通过Shell进程执行。通常,函数中的最后一个命令执行之后,就退出被调函数。也可利用return命令立即退出函数,其语法格式是:return [ n ]其中,n值是退出函数时的退出值(退出状态),即$?的值。当n值缺省时,则退出值是最后一个命令执行后的退回值。 

sum1()
{
n=`expr $n1 + $n2 + $n3`
echo "sum=$n"
}
average1()
{
n=`expr $n1 + $n2 + $n3`
n=`expr $n / 3`
echo "average=$n"
}
read n1 n2 n3
sum1 n1 n2 n3
average1 n1 n2 n3
[hadoop@localhost dzztest]$ ./c.sh
3 5 6
sum=14
average=4
[hadoop@localhost dzztest]$

2022-9-23

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表