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

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://www.xdnf.cn/news/8639.html

相关文章:

  • 贪心介绍 LeetCode 455.分发饼干 LeetCode 376. 摆动序列 LeetCode 53. 最大子序和
  • C# 异步方法中缺少 `await` 运算符的隐患与解决方案
  • Vue框架1(vue搭建方式1,vue指令,vue实例生命周期)
  • 卷积神经网络优化与应用实践:参数设置、泛化能力提升及多领域应用解析
  • Vue 3 路由传参使用指南
  • 视频监控联网系统GB28181协议中设备状态信息报送流程详解以及查询失败常见原因
  • uni-app学习笔记十--vu3 计算属性computed
  • 鸿蒙UI开发——上拉抽屉的更新与事件回调
  • Android Studio 连接夜神模拟器 自动断开的问题
  • 基于AI生成测试用例的处理过程
  • 海外IP代理在跨境电商选品、运营、风控的实战应用解析
  • ARM笔记-ARM伪指令及编程基础
  • Python:从脚本语言到工业级应用的传奇进化
  • 生成图片验证码
  • Ubuntu安装1Panel可视化管理服务器及青龙面板及其依赖安装教程
  • 再论自然数全加和-3
  • 进程信号(下)【Linux操作系统】
  • 心有灵犀数
  • PHP学习笔记(九)
  • 从零开始构建一个区块链应用:技术解析与实践指南
  • JS 中判断 null、undefined 与 NaN 的权威方法及场景实践
  • RabbitMQ 应用
  • 视觉导航调研#1
  • 一个国债交易策略思路
  • ARM笔记-ARM处理器及系统结构
  • Thinkphp6使用token+Validate验证防止表单重复提交
  • 关于使用QT时写客户端连接时因使用代理出现的问题
  • Vue3集成Element Plus完整指南:从安装到主题定制下-实现后台管理系统框架搭建
  • 用wsl实现 kerberos 认证协议
  • LangGraph 及多agent