shell编程(九)函数

C/C++中的函数

int func(int a, int b)
{
	return a+b;
}

在C/C++中,函数定义出,必须要有以下部分

  • 函数名
  • 返回值类型
  • 参数列表
  • return进行返回
    优点:比较精细,使用起来比较收约束,但是在该约束的情况下使用比较方便。

shell中的函数

一般shell中的函数用来做一些shell的集合,这样可以使整个过程集合在一起,不会丢下某部分或者跳过某部分。

函数的定义有两种方法
1. 加上function关键字进行定义
#!/bin/bash 
#by author dhy
#test function

function func1() #加关键字的定义
{
  echo "this is the first function!"
}
2. 省去关键字,直接定义
func1()  #直接定义
{
  echo "this is the first function!"
}
语法和作用
#!/bin/bash 
#by author dhy
#test function

func1()
{
  echo "this is the first function!"
}

echo "--------func begin--------"
func1
echo "--------func end----------"
  • 函数名:表明是一个函数
  • 括号内没有参数,但是可以进行传参
  • 调用方式:直接函数名调用,不能够加()
  • 返回值使用return 进行返回,并且在主调函数中$?进行接收
    运行结果如下:
    在这里插入图片描述
带有返回值的函数
func()
{
  echo "Please enter two number"
  read num1 num2 
  return $(($num1+$num2))
}

func 
echo "the two number sum is $?"
  • 返回值在主调函数中使用$?来进行接受
  • 进行加法计算时,需要注意语法
  • 运行结果如下
    在这里插入图片描述
传递参数
func()
{
  return $(($1+$2))
}

echo "Please enter two number"
read num1 num2
func num1 num2 
echo "sum is $?"
  • 传递参数:在被调函数中使用类似的命令行参数形式来接受
  • 返回值依旧是$?来接受
    在这里插入图片描述