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

Shell编程之函数

目录

基本概念

自定义函数

系统函数

1.read

 2.basename

 3.dirname


基本概念

        将一段代码组合封装在一起实现某个特定的功能或返回某个特定的值,然后给这段代码取个名字,也就是函数名,在需要实现某个特定功能的时候直接调用函数名即可。

        函数名的定义和定义变量的规则基本一致,但是函数名允许以数字开头。

自定义函数

基本语法:

[ function ] 函数名[()]

{

        程序

}

注意:

  • 必须在调用函数之前声明函数,shell 脚本是逐行运行,不会像其他脚本一样先编译。
  • 函数返回值只能通过 $? 系统变量获得,可以显式的加 return 返回,如果不加将以最后一条命令运行结果作为返回值。

示例如下,一个求和函数:

#!/bin/bashfunction sum()
{s=0;s=$[$1+$2];echo $s
}read -p "请输入第一个加数:" N1read -p "请输入第二个加数:" N2sum $N1 $N2

系统函数

        linux 中的系统函数很多这里只举几个简单的例子 可以参考 值得收藏的!Linux系统调用函数列表 - 知乎

1.read

语法:

read -t(指定读取值时等待得时间(秒))  -p(指定读取值时的提示符) [ 变量名 ]

例如:

#!/bin/bashread -t 10 -p "请在7秒内输入参数" AGEecho $AGE

 2.basename

基本语法:

basename [ string/pathname ] [suffix]

该命令会删除所有的前缀包括最后一个‘/’字符,然后将字符串显示出来

选项:suffix 为后缀,如果 suffix 被指定了,basename 会将 pathname 或者 string 中的 suffix 去掉。

示例如下:

basename /root/shell/read.sh
basename /root/shell/read.sh .sh

 3.dirname

dirname 文件绝对路径

功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录部分),然后返回剩下的路径(目录部分)。

dirname /root/shell/read.sh

http://www.lryc.cn/news/149842.html

相关文章:

  • 10.物联网LWIP之TCP状态转变
  • Img标签的src地址自动拼接本地域名(localhost:8080)导致图片不显示问题
  • 数据结构入门 — 栈
  • Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录
  • 内嵌功能强大、低功耗STM32WB55CEU7、STM32WB55CGU7 射频微控制器 - MCU, 48-UFQFN
  • 【测试】笔试03
  • JavaScript的while和for循环
  • mqtt安卓客户端
  • pdf怎么删除其中一页?
  • 10.Redis 渐进式遍历
  • 字符函数和字符串函数(2)
  • 目录扫描+JS文件中提取URL和子域+403状态绕过+指纹识别(dirsearch_bypass403)
  • 【UE 材质】常用向量运算节点——点积、叉积、归一化
  • 音视频 ffmpeg命令提取PCM数据
  • 【MySQL】实现可扩展性:构建高性能的系统
  • 网站用户体验之深度感悟
  • 目标检测YOLO实战应用案例100讲-道路场景下目标检测与分割模型的压缩研究与实现
  • 基于MSP430 红外避障-遥控小车(电赛必备 附项目代码)
  • 大型商城系统功能逻辑架构_各大系统关系设计_OctShop
  • 飞书接入ChatGPT,实现智能化问答助手功能,提供高效的解答服务
  • linux并发服务器 —— 多线程并发(六)
  • Nginx 部署 配置
  • 数据结构:时间复杂度和空间复杂度计算
  • 云原生Kubernetes:二进制部署K8S单Master架构(一)
  • ICCV 2023 | 利用双重聚合的Transformer进行图像超分辨率
  • 经纬恒润预期功能安全(SOTIF)解决方案为自动驾驶安全保驾护航
  • java从入门到起飞(七)——面向对象
  • 题集-三路划分和三数取中(快排优化)
  • 设计模式-迭代器
  • Hive学习(12)Hive常用日期函数