【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个


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米码收割机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值