news 2026/5/6 8:19:56

6、Bash表达式与模式匹配全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
6、Bash表达式与模式匹配全解析

Bash表达式与模式匹配全解析

1. 表达式基础

表达式是用于计算值的公式。Bash有多个内置命令和函数来计算表达式,不同的命令和函数语法和特性有所不同,有时同一表达式有多种计算方式,且存在一些特殊特性用于罕见情况,所以很少有Bash程序员能记住所有细微差别。

2. 扩展类型

Bash中的表达式不仅包含算术运算,还涉及字符串替换,这个过程称为扩展。Bash将扩展分为以下六类,且按固定顺序求值:
1. 文件名花括号扩展
2. 路径名波浪号扩展
3. 美元符号、变量和算术表达式
4. 命令替换(从左到右执行)
5. 单词分割(即通过空白字符或IFS变量内容分隔参数)
6. 路径名扩展(即路径名模式匹配)

扩展顺序很重要,可能会导致脚本出现微妙问题。例如,在变量中使用带波浪号的路径时:

$ ls -d ~/tmp /home/kburtch/tmp $ TEMP="~/tmp" $ ls $TEMP ~/tmp not found

这是因为变量扩展在波浪号扩展之后,Bash先进行波浪号扩展,找不到波浪号后进行变量扩展,导致波浪号留在命令中,ls命令找不到目录。因此,变量赋值路径中不应使用波浪号,应使用HOME变量。

除上述扩展外,其他类型的扩展由命令处理,这些命令在Bash完成六种扩展后执行。有两个常见的内置命令用于解释表达式:
-test命令:检查多种条件并

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:20:18

EDI 中的日期和时间

如果您的贸易伙伴将向您发送采购订单,这些采购订单是什么样的?每个贸易伙伴的格式都会有所不同,但通常看起来像这样。本实施指南基于 850 采购订单的 X12 EDI 规范。不过,该规范比您需要的要广泛得多,因为它满足了任何…

作者头像 李华
网站建设 2026/5/3 1:07:05

3步掌握LaTeX论文排版核心技巧

你是否曾为论文格式调整而耗费大量时间?面对复杂的排版要求感到束手无策?专业的LaTeX模板正是你需要的解决方案,它能帮你实现学位论文的自动化排版,让你专注于学术研究本身。 【免费下载链接】XMU-thesis A LaTeX template 项目…

作者头像 李华
网站建设 2026/5/1 6:27:44

基于SSM+JSP的羽毛球馆管理系统的设计与实现

羽毛球馆管理系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,JSP技术,使用了SSM框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。主要功能包括:个人信息修改,对用…

作者头像 李华
网站建设 2026/5/4 21:17:20

基于SpringBoot+Vue的信息化在线教学平台的设计与实现

前言 本信息化在线教学平台有管理员功能有个人中心,学生信息管理,教师信息管理,教学信息管理,学生成绩管理,留言板管理,系统管理等。教师可以对学生成绩进行管理和留言回复。学生可以在线考试和留言。因而…

作者头像 李华
网站建设 2026/5/1 6:28:32

鼠标性能测试神器:5分钟快速检测你的设备真实表现

鼠标性能测试神器:5分钟快速检测你的设备真实表现 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester 你是否曾在激烈的游戏中感到瞄准不够精准?或在精细的设计工作中发现光标移动不够流畅?这些…

作者头像 李华
网站建设 2026/5/4 0:20:09

DeepSeek-VL2:重塑零售业决策的5大智能场景与3步落地路径

DeepSeek-VL2:重塑零售业决策的5大智能场景与3步落地路径 【免费下载链接】deepseek-vl2 探索视觉与语言融合新境界的DeepSeek-VL2,以其先进的Mixture-of-Experts架构,实现图像理解与文本生成的飞跃,适用于视觉问答、文档解析等多…

作者头像 李华