Shell-函数

1、基础知识

1.1、简介

函数就是将某些命令组合起来实现某一特殊功能的方式,是脚本编写中非常重要的一部分。

1.2、无参函数格式

1.2.1、定义函数

function 函数名(){
  函数体
}

# 注意:function 关键字可以省略。

1.2.2、调用函数

函数名

1.3、有参函数格式

1.3.1、函数格式

函数名(){
  函数体 $n
}

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、脚本传参数

/bin/bash 脚本名 参数

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
复制代码

 

posted @   小粉优化大师  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示