shell 编程(7)之函数

发布时间 2023-03-30 16:17:01作者: by1314

函数使用

创建函数

  1. 使用function
function name {
commands
}

脚本中定义函数必须有唯一的名称

  1. 类似编程语言
name() {
commands
}

函数的使用

只需要在行中指定函数名即可

变量在函数中
  1. 向函数传递参数
  • 使用标准参数环境变量来进行传参,例如,函数名在 $0 中定义,函数命令行上的任何参数听过 $1、$2定义
  • 使用特殊变量 $# 来进行传参
    ps:在脚本中指定函数时,必须将参数和函数放在同一行,例如:func1 $values 10
    注意:脚本中不要光些函数,必须要有调用函数的东西,要不然脚本等于没写


函数递归

函数库

引入函数库概念是为了省去重复性工作,我们可以使用bash shell创建函数库文件。然后在脚本中引入库文件即可
步骤:

  1. 创建一个包含脚本中所需函数的公用库文件,shell 函数仅在定义它的 shell 会话有效
  2. 使用 source 命令在 shell 脚本中运行库文件脚本
  • source 命令中有个快捷的别名给,称作点操作符,在 shell 脚本中添加 . ./库文件名 即可
[oracle@bytest01 ~]$  cat myfun
#!/bin/bash
function add {
 echo $[ $1 + $2 ]
}
function sub {
 echo $[ $1 - $2 ]
}
function mul {
 echo $[ $1 * $2 ]
}
function divem {
if [ $2 -ne 0 ]
then
  echo $[ $1 / $2 ]
else
  echo -1
fi
}

[oracle@bytest01 ~]$  cat mytest
#!/bin/bash
. ./myfun
read -p "enter value:" value1
read -p "enter value2:" value2
result1=$(add $value1 $value2)
echo "add result is $result1"