1、基础知识
1.1、简介
函数就是将某些命令组合起来实现某一特殊功能的方式,是脚本编写中非常重要的一部分。
 
1.2、无参函数格式
1.2.1、定义函数
function 函数名(){
  函数体
}
# 注意:function 关键字可以省略。
 
1.2.2、调用函数
1.3、有参函数格式
1.3.1、函数格式
1.3.2、调用函数
1.3.3、状态返回值
函数名() {
  函数体 $n
  return 1
}
 
2、示例
2.1、无参函数
cat << 'CAT_END' >no_param_func.sh
#!/bin/bash
function start(){
  echo "start..."
}
# 调用函数
start
CAT_END
 
2.2、有参函数
cat << 'CAT_END' >param_func.sh
#!/bin/bash
function start(){
  echo "start... server_name:$1"
}
# 调用函数
start httpd
CAT_END
 
2.3、带返回值函数
cat << 'CAT_END' >return_param_func.sh
#!/bin/bash
function start(){
  echo "start... server_name:$1"
  return 3
}
# 调用函数
start httpd
echo "函数start,返回值:$?"
CAT_END
 
3、函数进阶
3.1、脚本传参-函数调用
3.1.1、脚本传参数
3.1.2、函数体调用参数语法
本地变量名 = "$1"
函数名(){
  函数体 $1
}
函数名 "${本地变量名}"
注意:类似于shell内置变量中的位置参数
 
3.1.3、示例
cat << 'CAT_END' >tran_param_func.sh
#!/bin/bash
param1=$1
function start(){
  echo "start... server_name:$1"
}
start $1
CAT_END