当前位置: 首页 > 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 ~]$ 

相关文章:

  • 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设置文字内容背景色
  • 三亚防疫情最新规定/如何将网站的关键词排名优化
  • 宁波网站推广厂家排名/杭州关键词优化测试
  • 深圳住房建设/百度搜索引擎优化的推广计划
  • 网站和新媒体建设方案/企业培训机构排名前十
  • 衡水网站建设在哪里/宁波网站推广哪家公司好
  • 网站公司网站开发/四川省人民政府