【shell】shell函数操作(有参、无参、有返回值、无返回值)

简介: 【shell】shell函数操作(有参、无参、有返回值、无返回值)

1. 定义函数并调用

1.1 无返回值、无参数函数

demoFun(){
    echo "这是函数 "
    echo "—函数执行"
    echo "—函数执行完毕"
    }

函数调用:

demoFun

运行结果:

这是函数

—函数执行

—函数执行完毕


1.2 有返回值、无参数函数

1.2.1 返回数值类型

return可以用来退出函数并返回一个整数值给调用者。这个返回值只能是整数类型。

sum () {
    local result=$(expr $1 + $2)
    return $result
}

函数调用:

sum 10 20
result=$?
echo $result

运行结果:

30


1.2.2 返回字符串类型

#!/bin/bash
get_user_info(){
    local name=$1
    local age=$2
    local sex=$3
    echo "$name $age $sex"
}

函数调用:

result=$(get_user_info "Tom" 20 "male")
echo $result | {
    read name age sex
    echo "Name: $name"
    echo "Age: $age"
    echo "Sex: $sex"
}

运行结果:

Name: Tom

Age: 20

Sex: male

代码说明: echo $result 命令将结果输出到管道中,然后使用大括号 {} 将一组命令组合在一起,从而创建一个新的命令块。read 命令从管道中读取输入,并将其分别赋值给 name、age 和 sex 变量。最后,使用 echo 命令打印输出变量的值。

拓展::如果shell解释器支持HereString语法,同样可以到上述代码的效果:

function get_user_info () {
    local name=$1
    local age=$2
    local sex=$3
    echo "$name $age $sex"
}
result=$(get_user_info "Tom" 20 "male")
read name age sex <<< $result
echo "Name: $name"
echo "Age: $age"
echo "Sex: $sex"

运行结果:

Name: Tom

Age: 20

Sex: male


1.3 无返回值、有参函数

使用$1、$2、$3表示取第几个参数的值

funparam(){
  echo "第一个参数为$1"
  echo "第二个参数为$2 "
    echo "第三个参数为${3}"
    echo "总参数有$#个"
}

函数调用:

funparam 1 2 3 4 5

运行结果:

第一个参数为1

第二个参数为2

第三个参数为3

总参数有5个


文章知识点与官方知识档案匹配,可进一步学习相关知识


相关文章
|
11天前
|
存储 算法 Shell
【Shell 命令集合 磁盘维护 】Linux 对软盘进行格式化操作 fdformat命令使用指南
【Shell 命令集合 磁盘维护 】Linux 对软盘进行格式化操作 fdformat命令使用指南
39 0
|
11天前
|
Shell Linux C语言
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
43 1
|
11天前
|
监控 Linux Shell
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
在线上排查问题时,查询日志、查看系统配置和分析操作系统信息是至关重要的。这些操作可以帮助我们深入了解软件和服务的兼容性,并解决潜在的问题。在本次学习中,我们将介绍并深入学习一些我在处理类似问题时常用的指令。通过掌握这些指令,你将能够更加高效地定位和解决线上问题,提高系统的稳定性和性能。让我们一同进入这个学习过程吧!
50 0
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
|
11天前
|
Shell 应用服务中间件 nginx
shell学习(七) 【shell 函数】
shell学习(七) 【shell 函数】
13 1
|
11天前
|
人工智能 机器人 Shell
【shell】shell函数操作(有参、无参、有返回值、无返回值)
【shell】shell函数操作(有参、无参、有返回值、无返回值)
|
11天前
|
人工智能 机器人 Shell
【shell】shell数组的操作(定义、索引、长度、获取、删除、修改、拼接)
【shell】shell数组的操作(定义、索引、长度、获取、删除、修改、拼接)
|
11天前
|
算法 Shell Linux
【Shell 命令集合 文档编辑 内建命令】Linux数值运算和赋值操作 let命令使用指南
【Shell 命令集合 文档编辑 内建命令】Linux数值运算和赋值操作 let命令使用指南
26 0
|
11天前
|
Shell Linux C语言
Linux中执行Shell的函数(popen,system,exec)介绍:分享一些常用的执行Shell的函数及其相关编程技巧和经验
Linux中执行Shell的函数(popen,system,exec)介绍:分享一些常用的执行Shell的函数及其相关编程技巧和经验
38 0
|
11天前
|
存储 安全 Unix
利用Shell指令通过函数获取用户UID
利用Shell指令通过函数获取用户UID
|
11天前
|
Shell
Shell 编程快速入门 之 函数基础知识
Shell 编程快速入门 之 函数基础知识
72 0
Shell 编程快速入门 之 函数基础知识