掌握了 Shell 的基础知识后,一些高级特性可以让脚本更简洁、更高效。正则表达式、通配符、命令替换、参数展开等特性,是进阶 Shell 编程的必备技能。
正则表达式是文本匹配的利器。grep、sed、awk 都支持正则,掌握正则表达式,就能灵活处理各种文本匹配需求。从简单的字符匹配到复杂的模式提取,正则表达式提供了强大的表达能力。
通配符用于匹配文件名,是 Shell 最常用的功能之一。* 匹配任意字符,? 匹配单个字符,[] 匹配字符集合。Bash 还提供了花括号扩展、波浪号扩展等高级功能,让文件操作更便捷。
命令替换可以把一个命令的输出作为另一个命令的参数。用 $() 或反引号包裹命令,就能把命令结果赋值给变量或传递给其他命令。这是脚本中动态获取信息的常用方式。
Shell 可以进行整数运算,$(( )) 是推荐的算术扩展语法。支持加减乘除、取余、位运算等操作。虽然不能处理浮点数,但对于计数、索引、状态判断等场景已经足够。
Here Document 用于在脚本中嵌入多行文本。比多次 echo 更清晰,适合生成配置文件、发送邮件内容等场景。配合变量替换,可以动态生成格式化的文本内容。
参数展开是 Shell 变量处理的核心机制。除了基本的 ${var},还有默认值设置、字符串截取、替换、大小写转换等高级用法。熟练掌握参数展开,能让脚本更简洁高效。
这一章我们学习:
$() 语法、嵌套使用、常见场景$(( )) 语法、运算符、自增自减掌握这些高级特性,能让脚本更简洁、更高效、更易维护。