Shell脚本函数应用

记录:429

场景:Shell脚本函数应用,定义函数,函数调用,函数传参。

版本:CentOS Linux release 7.9.2009。

1.普通函数

示例普通函数是没有入参和返回值。

1.1脚本

脚本名称:b2023051701.sh

脚本内容:

#!/bin/bash

#1.定义函数-带function关键字
function f1(){
    for city in "Hangzhou" "Suzhou" "Shanghai"
    do 
        echo "城市名称: ${city}"
    done
}

#2.定义函数-不带function关键字
f2(){
    for province in 'Zhejiang' 'Jiangsu'
    do 
        echo "省名称: ${province}"
    done
}

#3.调用函数
echo "f1输出结果:"
result=$(f1)
echo "${result}"
echo "f2输出结果:"
result=$(f2)
echo "${result}"

1.2执行与输出

执行命令:bash b2023051701.sh

输出结果:

f1输出结果:
城市名称: Hangzhou
城市名称: Suzhou
城市名称: Shanghai
f2输出结果:
省名称: Zhejiang
省名称: Jiangsu

2.函数使用return返回值

Shell函数的返回值只能是一个介于 0~255 之间的整数,其中只有0表示成功,其它值都表示失败。

在使用Shell函数时,使用return返回值,实际意义不是很明显。

2.1脚本

脚本名称:b2023051702.sh

脚本内容:

#!/bin/bash

#1.定义函数,使用return返回值
function f1(){
    echo '计算两数相乘结果'
    echo '输入第一个数字:'
    read firstNum
    echo '输入第二个数字:'
    read secondNum
    return $((${firstNum}*${secondNum}))
}

#2.调用函数f1
f1
echo "f1计算结果: $? "

2.2执行与输出

执行命令:bash b2023051702.sh

输出结果:

计算两数相乘结果
输入第一个数字:
33
输入第二个数字:
3
f1计算结果: 99 

3.函数使用echo输出作为返回值

函数使用echo输出作为返回值。

3.1脚本

脚本名称:b2023051703.sh

脚本内容:

#!/bin/bash

#1.定义函数,使用echo输出作为返回值
function f2(){
  firstNum=1024
  secondNum=3
  echo $((firstNum*secondNum))
}

#2.调用函数f2
result=$(f2)
echo "f2计算结果:"
echo "${result}"

3.2执行与输出

执行命令:bash b2023051703.sh

输出结果:

f2计算结果:
3072

4.函数使用全局变量作为返回值

函数使用全局变量作为返回值。

4.1脚本

脚本名称:b2023051704.sh

脚本内容:

#!/bin/bash

#1.定义函数,使用全局变量作为函数返回值
result=0 #全局变量存放函数结果
function f3(){
  firstNum=1024
  secondNum=4
  result=$((firstNum*secondNum))
}

#2.调用函数f3
f3
echo "f3计算结果:"
echo "${result}"

4.2执行与输出

执行命令:bash b2023051704.sh

输出结果:

f3计算结果:
4096

5.函数传递参数

函数使用占位符传递参数。

5.1脚本

脚本名称:b2023051705.sh

脚本内容:

#!/bin/bash

# 1.定义函数,使用占位符定义参数
function f1(){
   echo "country: $1"
   echo "Province: $2"
   echo "City: $3"
}

#2.调用函数,传递参数
result=$(f1 "China" "Zhejiang" "Hangzhou")
echo "执行结果: "
echo "${result}"

5.2执行与输出

执行命令:bash b2023051705.sh

输出结果:

执行结果: 
country: China
Province: Zhejiang
City: Hangzhou

6.函数使用return返回值

函数使用占位符传递参数。从脚本执行入口输入参数。

6.1脚本

脚本名称:b2023051706.sh

脚本内容:

#!/bin/bash

# 1.定义函数,使用占位符定义参数
function f1(){
   echo "country: $1"
   echo "Province: $2"
   echo "City: $3"
}

#2.调用函数,传递参数
v1=$1
v2=$2
v3=$3
result=$(f1 ${v1} ${v2} ${v3})
echo "执行结果: "
echo "${result}"

6.2执行与输出

执行命令:bash b2023051706.sh 中国 浙江 杭州

输出结果:

执行结果: 
country: 中国
Province: 浙江
City: 杭州

以上,感谢。

2023年5月17日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值