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

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

👉博__主👈:米码收割机

👉技__能👈:C++/Python语言

👉公众号👈:测试开发自动化

👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术


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个



相关文章
|
7月前
|
人工智能 机器人 Shell
【shell】shell字符串操作(声明、长度、拼接、切片、转换、替换等操作)
【shell】shell字符串操作(声明、长度、拼接、切片、转换、替换等操作)
|
2月前
|
Shell Linux C语言
Shell 函数
10月更文挑战第4天
27 7
|
7月前
|
Linux Shell 文件存储
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
201 1
|
4月前
|
Shell Linux 程序员
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?
|
6月前
|
Shell 开发者
Shell 函数深入解析与实践
了解 Shell 函数的基础,包括定义、参数传递及返回值。函数定义有多种语法,如 `function func() {...}` 或 `func() {...}`。参数通过 `$1`, `$2` 等访问,`$@` 代表所有参数。`return` 用于返回退出状态码(0-255),非数值数据需用 `echo`。正确获取函数返回值应立即检查 `$?`,例如:`result=$?`。实践中不断探索和学习!
44 1
|
7月前
|
存储 算法 安全
shell 脚本之 函数与数组
shell 脚本之 函数与数组
|
6月前
|
存储 Shell 开发者
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`${array[index]}`。增删改查及获取长度、拼接数组都有相应语法,例如`unset array[index]`删除元素,`${#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
53 0
|
6月前
|
机器学习/深度学习 Shell Linux
linux shell脚本判断文件或文件夹是否存在循环操作
linux shell脚本判断文件或文件夹是否存在循环操作
210 0
|
7月前
|
运维 Shell Python
第五章 Shell函数与数组
第五章 Shell函数与数组
|
7月前
|
Shell 应用服务中间件 nginx
shell学习(七) 【shell 函数】
shell学习(七) 【shell 函数】
46 1