Shell脚本函数应用

这篇具有很好参考价值的文章主要介绍了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日文章来源地址https://www.toymoban.com/news/detail-449370.html

到了这里,关于Shell脚本函数应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux shell脚本命令记录

    1、cut cut 命令可以从一个文本文件或者文本流中提取文本列。 egg:  参考:https://www.cnblogs.com/liuyansheng/p/6180332.html 2、identify identify命令主要用于获取一个或多个图像文件的格式和特性。 3、shell中#*,##*,#*,##*,%*,%%*的含义及用法    参考:shell中#*,##*,#*,##*,%*,%%*的

    2024年02月08日
    浏览(32)
  • linux shell脚本操作日期记录

    最近碰到个需求,按日导出每日的数据,然后导入另一个数据库。需要写个日期相关的脚本。这里总结下 运行情况如下: 分别设想了三种情况 1、从某日到某日 2、从当前日期往前推N天 3、从某个日期到当前日期 plus:chatgpt是个写脚本是个好帮手

    2024年02月17日
    浏览(32)
  • shell脚本学习记录1(运算符)

    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n 。 n  代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 以下实例我们向脚本传递三个参数,并分别输出,其中  $0  为执行的文件名(包含文件路径):  另

    2024年02月08日
    浏览(33)
  • linux shell脚本函数

    目录 一、函数        1.传参 二、返回值        return 三、终止符         exit 四、实验                   一、函数         概念:函数是定义一个函数名,可以调用函数方法,完成便捷处理。         函数作用:    1.避免方法名重复。   2.将代码分割成一块一块,便

    2024年02月07日
    浏览(35)
  • shell脚本--函数

    目录 一:shell函数定义 1.函数的含义 2.函数的优点 3.函数的格式 4.函数返回值 (1)return输出 (2)echo输出  二:函数传参 1.情景一  2.情景二 3.情景三  4.情景四  三:递归函数  1.递归函数定义  2.通过递归函数实现阶乘 3.使用递归函数实现目录和文件的依次输出  4.案例实练

    2024年02月03日
    浏览(23)
  • BASH shell脚本篇4——函数

     这篇文章介绍下BASH shell中的函数。之前有介绍过shell的其它命令,请参考: BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 BASH shell脚本篇3——字符串处理 函数是代码重用的最重要方式。Bash函数可以定义为一组命令,在bash脚本中多次调用。bash函数使脚本更具可

    2024年02月07日
    浏览(28)
  • 运维Shell脚本小试牛刀(七):在函数文脚本件中调用另外一个脚本文件中函数|函数递归调用|函数后台执行

    运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 运维Shell脚本小试牛刀(三)::$(cd $(dirname $0); pwd)命令详解 运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客 Cenos7安装小火车程序动画 运维Shell脚本小试牛刀(五):until循环 运维Shell脚本小试牛刀

    2024年02月09日
    浏览(42)
  • shell脚本中main函数中$#获取不到脚本传入参数个数浅析

    Linux的shell脚本,有时候我们在运行shell脚本时会给脚本传入参数,出于逻辑上的严谨,在脚本中可能会做一些逻辑判断或处理,例如判断脚本传入参数的个数。一般我们会用$#获取传入参数的个数,假如,我们在shell脚本的main函数中去判断脚本传入参数的个数,类似如下所示

    2024年03月14日
    浏览(83)
  • linux环境下Shell脚本中定义函数

    说实话,这是我第一次用Shell来定义函数,之前也写了很多shell脚本,但是体量都不大,所以基本上是按照需求罗列了多个命令来实现的,这次也是一样,但是我发现重复的地方太多了,所以还是要拿出看见本事“抽象函数”来解放我懒惰的手指 检测特定名称的进程是否存在

    2024年02月12日
    浏览(38)
  • 【Linux命令行与Shell脚本编程】第十六章 Shell函数

    脚本函数基础 函数返回值 在函数中使用变量 数组变量和函数 函数递归 创建库 在命令行中使用函数 可以将shell脚本代码放入函数中封装起来,这样就能在脚本的任意位置多次使用. 函数是一个脚本代码块,可以并在脚本中的任何位置重用它。当需要在脚本中使用该代码块时

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包