当前位置: 首页 > news >正文

Linux Shell编程(九)

目录

函数

 1--不带返回值的函数

完整的流程

2--带返回值的函数

计算两个数字相乘

3--可以传递参数的函数


函数

 1--不带返回值的函数

函数名(){

        context;

        

}


outputFunction(){
        echo "这是一个普通的函数"
}

outputFunction

完整的流程

[xijiu@localhost ~]$ touch func1.sh
[xijiu@localhost ~]$ vi func1.sh
[xijiu@localhost ~]$ sh func1.sh
这是一个普通的函数
[xijiu@localhost ~]$ cat func1.sh 

outputFunction(){
    echo "这是一个普通的函数"
}

outputFunction

[xijiu@localhost ~]$ 
 

 

2--带返回值的函数

函数名(){

        context;

        return 返回值;

}

计算两个数字相乘

        

# 计算两个数字相乘

digits(){
        echo "输入第一个数字"
        read oneNum
        echo "输入第二个数字"
        read twoNum
        result=  expr $oneNum \* $twoNum
        return $result
}

digits

[xijiu@localhost ~]$ vi digits.sh 
[xijiu@localhost ~]$ sh digits.sh 
输入第一个数字
2
输入第二个数字
2
4
[xijiu@localhost ~]$ cat digits.sh 
# 计算两个数字相乘

digits(){
    echo "输入第一个数字"
    read oneNum
    echo "输入第二个数字"
    read twoNum
    result=  expr $oneNum \* $twoNum  
    return $result
}

digits
[xijiu@localhost ~]$ sh digits.sh 
输入第一个数字
43
输入第二个数字
22
946
[xijiu@localhost ~]$ 

3--可以传递参数的函数

  • 通过$数字  ==》获取参数值
  • 通过${数字} ==》获取参数值
  • 通过$*  ====>获取所有的参数值
  • 通过$# ===>获取参数的个数

reciveFuc(){
        echo   "第一个参数$1";
        echo "第二个参数$2"
        echo "第三个参数${3}"

        echo "参数的个数$#"
        echo "所有的参数$*"
}
reciveFuc a b 1 a s d

完成流程

[xijiu@localhost ~]$ vi send.sh
[xijiu@localhost ~]$ cat send.sh
reciveFuc(){
    echo   "第一个参数$1";
    echo "第二个参数$2"
    echo "第三个参数${3}"
    
    echo "参数的个数$#"
    echo "所有的参数$*"
}
reciveFuc a b 1 a s d 
[xijiu@localhost ~]$ sh send.sh 
第一个参数a
第二个参数b
第三个参数1
参数的个数6
所有的参数a b 1 a s d
[xijiu@localhost ~]$ 


文章转载自:

http://qZ77tti5.wnhsw.cn
http://nEgQqAaI.wnhsw.cn
http://45D1pWo3.wnhsw.cn
http://qbtln45q.wnhsw.cn
http://5cZZd4YR.wnhsw.cn
http://bGfLORTA.wnhsw.cn
http://BQcbVdtw.wnhsw.cn
http://kb6U1Hcn.wnhsw.cn
http://KBVvkxh8.wnhsw.cn
http://s5PkTIE4.wnhsw.cn
http://NA05N2Vw.wnhsw.cn
http://U8XHSo0B.wnhsw.cn
http://AliFcIN0.wnhsw.cn
http://SbmFOlNj.wnhsw.cn
http://DMIYHaXM.wnhsw.cn
http://hzdE8zfY.wnhsw.cn
http://LXS9yf91.wnhsw.cn
http://8APFFMVN.wnhsw.cn
http://mgnjM0KB.wnhsw.cn
http://XOpIL059.wnhsw.cn
http://W9EhvCdH.wnhsw.cn
http://YBvQD4Jw.wnhsw.cn
http://QpMguxNU.wnhsw.cn
http://WaqcGERb.wnhsw.cn
http://qQLhkLGl.wnhsw.cn
http://1QwHYF2M.wnhsw.cn
http://9iRTRPoK.wnhsw.cn
http://GzPPjbWk.wnhsw.cn
http://nGfD410m.wnhsw.cn
http://5CVB1izi.wnhsw.cn
http://www.dtcms.com/a/210526.html

相关文章:

  • Android12 launcher3修改App图标白边问题
  • 如何利用夜莺监控对Redis Cluster集群状态及集群中节点进行监控及告警?
  • JVM学习(五)--执行引擎
  • Manus AI突破多语言手写识别的技术壁垒的关键方法
  • Docker:容器化技术
  • 数据库MySQL进阶
  • 论文阅读笔记——Emerging Properties in Unified Multimodal Pretraining
  • 通过shell脚本检测服务是否存活并进行邮件的通知
  • 开源视频监控前端界面MotionEye
  • 视频剪辑 VEGAS - 配置视频片段保持原长宽比
  • 单片机中断系统工作原理及定时器中断应用
  • 【Excel 支持正则的方法】解决VBA引入正则的方法和步骤
  • Lesson 22 A glass envelope
  • 展示了一个三轴(X, Y, Z)坐标系!
  • 基于大模型的短暂性脑缺血发作预测与干预全流程系统技术方案大纲
  • 【C++】封装红黑树实现 mymap 和 myset
  • 记录将网站从http升级https
  • Linux(7)——进程(概念篇)
  • 万亿参数背后的算力密码:大模型训练的分布式架构与自动化运维全解析
  • 【RichTextEditor】 【分析2】RichTextEditor设置文字内容背景色
  • 毕业论文格式(Word)
  • python 自动生成不同行高的word
  • 攻防世界——Web题 unseping 反序列化绕过
  • 计算机视觉与深度学习 | 基于 YOLOv8 + BeautyGAN + CodeFormer + Face Parsing 实现简单的人脸美颜
  • Spring Security探索与应用
  • 如何进行CAN一致性测试
  • 从稳定到卓越:服务器部署后的四大核心运维策略
  • 传奇各种怪物一览/图像/爆率/产出/刷新地/刷新时间/刷怪时间
  • LeetCode 2942.查找包含给定字符的单词:使用库函数完成
  • vs2022 Qt Visual Studio Tools插件设置